数组常用方法
添加/删除元素
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()方法从数组的开头删除元素,最后返回这个数组的时候,我们需要去比较数组里面每一个元素的下标,并移动。