因为一直忘记这写数组方法,于是我就把这个方法整理了一篇博客,然后,以防以后忘记了 回来 翻一翻
1.splice()
从数组中添加/删除元素,返回被删除项。
如果里面有一个值的话,那个值就是从那个下标开始截取
如果里面有两个值的话,第一个值是从那个下标开始截取,第二个值是截取的个数
如果里面有三个值的话,第一个值是从那个下标开始截取,第二个是截取的个数,第三个是要替换的值
let arr = [1, 2, 3, 4, 5, 6];
arr.splice(2); // [ 3, 4, 5, 6] arr是[1, 2]
arr.splice(2, 3); // [ 3, 4, 5] arr是[1, 2, 6]
arr.splice(1, 0, 2, 3); // [] arr是[1, 2, 3, 4]
2.slice()
从已有数组中返回选定元素,此操作不会修改原始数组。
如果里面有一个值的话,第一个值是从那个下标开始截取
如果里面有两个值的话,从第一个值开始截取到第二个值(都是下标)
let arr = [1, 2, 3, 4, 5];
arr.slice(0, 3); // 从下标0开始截取到下标3 返回[1, 2, 3] arr不变
arr.slice(3); // 从下标3开始截取到数组最后 返回[4, 5]
arr.slice(-3, -1); // 从倒数第三个截取到倒数第一个 返回[3, 4]
3.shift()
删除数组第一个元素,返回删除项,改变原始数组,不产生新数组。
let arr = [1, 2, 3];
arr.shift(); // 删除1, arr是[ 2, 3]
4.unshift(newelement1,[...])
在数组开头添加一或多个元素,并返回新的长度。会改变原数组。
let arr = [1, 2, 3];
arr.unshift(4); // 4, arr是[4, 1, 2, 3]
5.pop()
删除数组最后一个元素,并返回删除的值,若是操作空数组,返回undefined。改变原数组。
let arr = [1, 2, 3, 4];
arr.pop(); // 删除4, arr是[1, 2, 3]
6.push()
向这个数组的末尾添加一个或多个元素,然后返回数组长度。直接修改原数组。
let arr = [4];
arr.push(1, 2); //3(是返回的长度) arr是 [4,1,2]
7.concat()
合并数组的时候通常会采用concat()方法,该方法会返回一个新数组,不影响其他元素。
let arr = [1, 2, 3];
arr.concat(4, 5); // [1, 2, 3, 4, 5]
arr.concat([4, 5]); // [1, 2, 3, 4, 5]
arr.concat([[4, 5]]); // [1, 2, 3, [4, 5]]
8.reverse()
数组倒序方法,这个倒序不是排序后的倒序,是原数组顺序颠倒。
let arr = [1, 2, 3];
arr.reverse(); // arr等于[3, 2, 1]
9.sort()
对现有数组进行排序,改变原始数组。此方法会在排序之前首先对数组的每一项调用toString()方法,再进行排序
let arr = [11, 3, 222, 44];
let arr1 = ['b', 'd', 'a', 'c'];
arr.sort(); // [11, 222, 3, 44]
arr.sort((a, b) => {
return a - b; // [3, 11, 44, 222]
})
arr.sort((a, b) => {
return b - a; // [222, 44, 11, 3]
})
arr1.sort((a, b) => {
return -1; // ['a', 'b', 'c', 'd']
})
arr1.sort((a, b) => {
return 1; // ['d', 'c', 'b', 'a']
})
————————————————
原文链接:
10.join([separator])
对数组元素以指定的分隔符进行分隔,参数为空,默认以“,”进行分隔。返回值是分隔后形成的字符串
let arr = [1, 2, 3];
arr.join(); // '1,2,3'
arr.join(''); // '123'
arr.join('*'); // '1*2*3'