因为一直忘记这写数组方法,于是我就把这个方法整理了一篇博客,然后,以防以后忘记了 回来 翻一翻

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'