本文已参与「新人创作礼」活动, 一起开启掘金创作之路。
数组
数组是什么
数组: (Array) 就是一组有序排列的数据的集合
使用场景: 如果有多个数据可以用数组保存起来放在变量中,方便我们的管理
数组的基本使用
通过 [] 定义数组,数组中可以存放任意类型的数据
定义数组
// 1 声明数组 字面量
let arr = [ ]; // 空数组
// 使用new Array 构造函数声明 了解
let array = new Array(1, 2, 3, 4);
// 2 数组做为数据的集合,数组元素的值可以是任意数据类型
let arr1 = ['html', 'css', '10', 20, true, false, ',芒果',arr];
访问数组和数组索引
我们可以通过数组的下标(索引)来访问数组的数据.
在计算机中,数组的索引值是从左往右依次排列的,且索引值从0开始
let arr= [1,2,3,4,null,'芒果','好雨知时节'];
//比如此时我想访问'好雨知时节',这个数据在arr中的第7个位置,由于索引值从0开始那么它的索引0值是6
let str = arr[6];
document.write(str);//'好雨知时节'
我们也可以通过这个方法更改它的值
let arr= [1,2,3,4,null,'芒果','好雨知时节'];
arr[6]= '当春乃发生';
document.write(arr);//1,2,3,4,芒果,当春乃发生
数组长度属性
数组在 JavaScript 中不是新的数据类型,它属于对象类型
我们可以通过 数组.length来获取数组长度,这个方法的返回值是一个数字
let arr= [1,2,3,4,null,'芒果','好雨知时节'];
document.write(arr.length); //打印出来的值是 7
遍历数组
我们如果一个一个获取数组中的元素要写非常多的代码,我们可以用for循环来遍历访问数组来更加高效的访问数组中的元素
for (let i = 0; i < 数组名.length; i++) {
console.log(数组[i]);
}
// 示例代码
let arr= [1,2,3,4,null,'芒果','好雨知时节'];
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
//1,2,3,4,null,芒果,好雨知时节
操作数组
数组做为对象数据类型,不但有 length 属性可以使用,还提供了许多方法:
- push 动态向数组的尾部添加一个单元
- unshit 动态向数组头部添加一个单元
- pop 删除最后一个单元
- shift 删除第一个单元
- splice 动态删除任意单元
使用以上4个方法时,都是直接在原数组上进行操作,即成功调任何一个方法,原数组都跟着发生相应的改变。并且在添加或删除单元时 length 并不会发生错乱。
增加数组
push 动态向数组的尾部添加一个单元(末尾新增元素)
unshit 动态向数组头部添加一个单元(开头新增元素)
let arr= [1,2,3,4,null,'芒果','好雨知时节'];
// 向数组末尾新增元素 - push
arr.push('当春乃发生');
// push 有返回值 返回数组的长度
// 也可以一次 添加多个
arr.push('随风潜入夜', '润物细无声');
console.log(arr);
//1,2,3,4,null,芒果,好雨知时节当春乃发生,随风潜入夜,润物细无声
// 向数组开头添加元素 - unshift
arr.unshift('red','blue');
console.log(arr);red,blue,1,2,3,4,null,芒果,好雨知时节当春乃发生,随风潜入夜,润物细无声
删除数组元素
pop:删除最后一个单元
shift :删除第一个单元
splice:动态删除任意单元
splice(1.1) 中写入两个值,第一个值指索引(获取元素),第二个值指要从索引开始删除的元素数量
如果第二个值不写,表示从索引位置山道最后
let arr= [1,2,3,4,null,'芒果','好雨知时节'];
// 1.pop() 删除最后一个元素
arr.pop();
console.log(arr);//1,2,3,4,null,芒果
// 2.shift() 删除第一个元素
arr.shift();
console.log(arr);//1,2,3,4,null
// 3. splice() 删除指定元素 splice(起始位置-索引号, 删除几个)
arr.splice(1, 1) // 是从索引号1的位置开始删, 只删除1个
//arr.splice(1) // 从索引1开始删除到最后
console.log(arr);//1,3,4,null,