数组的声明
- 字面量声明
var a = [1,2,3];
- 构造函数声明
var b = new Array(7);
var c = new Array(6,7,8);
使用构造函数可以声明指定长度的数组,构造函数的参数有一个且为数字时会理解为数组的长度,多个时理解为数组的内容。推荐使用字面量的声明方式。
length属性可以查看数组长度,可以通过改变length属性的值来改变数组的长度,多余的去掉,缺少的填为undefined。将length设置为0或让数组等于[]可以清除数组中的内容。
数组添加、删除元素
a.push(4,5,6);//向数组的后面添加数据
a.unshift(-2,-1,0);//向数组的前面添加数据
console.log(a.length);
数组的长度会根据添加后的结果动态变化。这两个函数的返回值是新数组的长度。
var ret3 = a.pop();//删除数组的最后一项数据
console.log(ret3);
var ret4 = a.shift();//删除数组的第一项数据
console.log(ret4);
返回值是被删除的数据
数组截取数据
- slice()方法
从一个数组的指定开始索引到结束索引(不包括),进行浅拷贝,组成新的数组,并返回这个新数组
传入两个参数,一个为起始位置,一个为结束位置(不包括),返回值是一个新数组,不影响原数组。参数可为负,这时数组长度加参数为最终结果。
let arr = [1, 2, 3];
let newArr = arr.slice(0,2);
- splice()方法
对数组进行增、删、改操作,并返回删除元素组成的新数组
传入三个参数,第一个为修改的起始位置,第二个为删除元素的个数,第三个及以后的参数为要添加的数据。返回值为删除的元素,会影响原数组。
let arr1 = [1,2,3,4,5,6,7];//splice()方法
let new1 = arr1.splice(2,0,10,11);
console.log(new1);
console.log(arr1);
没有删除元素时,返回值为空;当不想删除数据只添加时,可以将第二个参数设为0但不能省略。当删除的元素个数和添加的元素个数相等时也就达到了修改数组元素的效果。