JavaScript数组方法1

149 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 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()方法从数组的开头删除元素,最后返回这个数组的时候,我们需要去比较数组里面每一个元素的下标,并移动。