天天看点

js常用数组操作

目录

  • Array.push()
  • Array.pop()
  • Array.unshift()
  • Array.shift()
  • Array.concat(arr1,arr2…)
  • Array.join()
  • Array.reverse()
  • Array.sort()
  • Array.map(function)
  • Array.slice(start,end)
  • Array.splice(index,howmany,arr1,arr2…)
  • Array.forEach(function)
  • Array.filter(function)
  • Array.every(function)
  • Array.some(function)
  • Array.reduce(function)
  • Array.includes(ele)
  • Array.copyWithin(target,start,end)

1. Array.push(),向数组的末尾添加一个或多个元素,并返回新的数组长度。原数组改变。

var arr=[1,2,3];
    arr.push(4,5,6);
    console.log(arr);
           
js常用数组操作

2. Array.pop(),删除并返回数组的最后一个元素,若该数组为空,则返回undefined。原数组改变。

var arr=[1,2,3];
    arr.pop();
    console.log(arr);
           
js常用数组操作

3. Array.unshift(),向数组的开头添加一个或多个元素,并返回新的数组长度。原数组改变。

var arr=[1,2,3];
    arr.unshift(4,5,6);
    console.log(arr);
           
js常用数组操作

4. Array.shift(),删除数组的第一项,并返回第一个元素的值。若该数组为空,则返回undefined。原数组改变。

var arr=[1,2,3];
    arr.shift();
    console.log(arr);
           
js常用数组操作

5. Array.concat(arr1,arr2…),合并两个或多个数组,生成一个新的数组。原数组不变。

var arr1=[1,2,3];
        var arr2=[4,5,6];
        var arr3=[7,8];
        arr1=arr1.concat(arr2,arr3);
        console.log(arr1);
           
js常用数组操作

6. Array.join(),将数组的每一项用指定字符连接形成一个字符串。默认连接字符为 “,” 逗号。

var arr1=[1,2,3];
        console.log(arr1.join('~~'));
           
js常用数组操作

7. Array.reverse(),将数组倒序。原数组改变。

var arr1=[1,2,3];
    console.log(arr1.reverse());
           
js常用数组操作

8. Array.sort(),对数组元素进行排序。按照字符串UniCode码排序,原数组改变。

  • 从小到大
var arr1=[5,9,7,1,6,2,3];
    console.log(arr1.sort());
           
js常用数组操作
  • 从大到小
var arr1=[5,9,7,1,6,2,3];
        function compare(a,b){
            return b-a;
        }
        console.log(arr1.sort(compare));
           
js常用数组操作
  • 按照数组对象中的某个值进行排序
var arr=[
            {name:"A",age:18},
            {name:"B",age:19},
            {name:"C",age:6},
            {name:"D",age:99}
        ];

        function compare(param) {
            return function sortAge(a,b) {
                return a[param]-b[param];
            }
        }

        arr.sort(compare("age"))

        console.log(arr)
           
js常用数组操作

9.Array.map(function),原数组的每一项执行函数后,返回一个新的数组。原数组不变。(注意该方法和forEach的区别)。

var arr=[1,2,3,4];
        var newNum=arr.map((ele,index)=>{
            return arr[index]+ele;
        })

        console.log(newNum)
           
js常用数组操作

10.Array.slice(start,end),从start开始,end之前结束,end是开区间;如果不给end值,从start开始到数组结束。start可以给负值,-1表示数组最后位置,-2表示倒数第二个,以此类推,顾前不顾后。原数组不改变。

var arr=[1,2,3,4,5,6];
        console.log(arr.slice(1,4));
           
js常用数组操作

11.Array.splice(index,howmany,arr1,arr2…) ,删除元素并添加元素,从index位置开始删除howmany个元素,并将arr1、arr2…数据从index位置依次插入。如果arr1、arr2是数组,那么插入的也是数组而不是数组中的元素。howmany为0时,则不删除元素。原数组改变。

var arr1=[1,2,3,4,5,6];
        var arr2=[2,3,4];
        var arr3=[5,6];

        arr1.splice(2,2,arr2,arr3);

        console.log(arr1);
           
js常用数组操作

12.Array.forEach(function),用于调用数组的每个元素,并将元素传递给回调函数。原数组不变。(注意该方法和map的区别,若直接打印Array.forEach的返回值,结果为undefined)。

var numbers = [4, 9, 16, 25];

        function myFunction(item, index) {
            console.log("item:" + item + "__index:" + index);
        }
        numbers.forEach(myFunction);
        console.log("_________________");
        for (var i = 0; i < numbers.length; i++) {
            console.log("item:" + numbers[i] + "__index:" + i);
        }
           
js常用数组操作

13.Array.filter(function),过滤数组中,符合条件的元素并返回一个新的数组。

var arr1=[1,2,3,4,5,6];

        var newArr=arr1.filter((number,index,arr)=>{
            return number>3;
        })

        console.log(newArr)
           
js常用数组操作

14.Array.every(function),对数组中的每一项进行判断,若都符合则返回true,否则返回false。

var arr1=[1,2,3,4,5,6];

        var res=arr1.every((number,index,arr)=>{
            return number>-1;
        })

        console.log(res)
           
js常用数组操作

15.Array.some(function),对数组中的每一项进行判断,若都不符合则返回false,否则返回true。

var arr1=[1,2,3,4,5,6];

        var res=arr1.some((number,index,arr)=>{
            return number>15;
        })

        console.log(res)

           
js常用数组操作

16.Array.reduce(function),reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

var arr1=[1,2,3,4,5,6];

        var res=arr1.reduce((a,b)=>a+b);

        console.log(res)
           
js常用数组操作

17.Array.includes(ele),includes方法查找数组是否存在当前元素,返回true/false

var arr=[1,2,3,4,5,6,7,8,8]

    console.log(arr.includes(8))
    console.log(arr.includes(9))
           
js常用数组操作

18.Array.copyWithin(target,start,end),target表示目标索引,start与end表示起止索引,左闭右开,把start到end的元素copy到target开始的索引后面。

var arr=[1,2,3,4,5,6,7,8,8]

    arr.copyWithin(3,0,3);
    console.log(arr)
           
js常用数组操作

继续阅读