携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第6天,点击查看活动详情 >>
数组常用方法
添加/删除元素
push
push() 方法可以将一个或多个元素添加到数组的末尾,并返回新的长度。
push(元素1,元素2……)
可以一次性添加多个元素,也可以一个一个添加。
var arr = [1, 2, 3];
arr.push(4);
console.log(arr); // [1, 2, 3, 4]
pop
pop() 方法可以删除数组的最后一个元素,并返回该元素。
result = pop();
最后将被删除的元素返回给 result。
var arr = [1, 2, 3];
var last = arr.pop();
console.log(arr); // [1, 2]
console.log(last); // 3
unshift
unshift() 方法可以将一个或多个元素添加到数组的开头,并返回新的长度。
arr.unshift(元素1,元素2……);
可以一次性添加一个或者多个元素。
var arr = [1, 2, 3];
arr.unshift(0);
console.log(arr); // [0, 1, 2, 3]
shift
shift() 方法可以删除数组的第一个元素,并返回该元素。
result = shift();
最后将被删除的元素返回给 result。
var arr = [1, 2, 3];
var first = arr.shift();
console.log(arr); // [2, 3]
console.log(first); // 1
splice
splice() 方法可以删除任意位置的元素,并且可以添加新的元素。返回被删除的元素。
arr.splice(index,howmany,element1,.....)
- index: 要删除的元素的起始位置。
- howmany: 要删除的元素个数。
- element1,.....: 要添加的元素。(可以添加一个或者多个元素,元素之间使用逗号分隔)
var arr = [1, 2, 3];
var arr1 = arr.splice(1, 2,-1,-2); // 从下标为1的元素开始删除,删除两个元素,并插入-1,-2
console.log(arr); // [1, -1, -2]
console.log(arr1); // [2,3]
slice
slice() 方法可以提取数组的一部分,并返回一个新的数组。
arr.slice(start,end);
- start: 要提取的元素的起始位置。
- end: 要提取的元素的结束位置。(最后提取出来的元素并不包括结束位置的元素)
var arr = [1, 2, 3, 4, 5, 6];
var arr1 = arr.slice(1, 3); // 提取下标为[1,3)的元素(不包括下标为3的元素)
console.log(arr); // [1, 2, 3, 4, 5, 6]
console.log(arr1); // [2, 3]
concat
concat() 方法可以将一个或多个数组连接起来,并返回一个新的数组。
arr.concat(arr1,arr2,....);
- arr1,arr2,....: 要连接的数组。
可以一次性连接多个数组。
var arr = [1, 2, 3];
var arr1 = arr.concat([4, 5]); // 将[4, 5]连接到arr后面
console.log(arr); // [1, 2, 3]
console.log(arr1); // [1, 2, 3, 4, 5]
一个小知识点:
pop()和push()方法在执行速度上比shift()和unshift()方法要快。
因为pop()方法需要从数组的末尾删除元素,它不需要去移动数组的下标;而shift()方法从数组的开头删除元素,最后返回这个数组的时候,我们需要去比较数组里面每一个元素的下标,并移动。