数组有哪些方法?

1.push(尾部添加)

    var a = [1, 2, 3]
    var b = 4
    a.push(b)
    console.log('a:'+a); //a:1,2,3,4

2.unshift(头部添加)

    var a = [1, 2, 3]
    var b = 4
    a.unshift(b)
    console.log('a:'+a); //a:4,1,2,3

3.pop(尾部删除)

    var a = [1, 2, 3]
    a.pop()
    console.log('a:'+a); //a:1,2

4.shift(头部删除)

    var a = [1, 2, 3]
    a.shift()
    console.log('a:'+a); //a:2,3

5.sort(对数组排序)

    var a = [1, 2, 3,5,20,33,12,9,0,-4,-27,88,0]
    //直接使用sort,它会先根据最高位数来排序,所以它的排序思路是[-2,-4,0,0,1,1,2,2,3,3,5,8,9]
    //但是这不是我们想要的结果
    // a.sort()
    // console.log('a:'+a); //a:-27,-4,0,0,1,12,2,20,3,33,5,88,9

    //往sort里加方法
    //如果这个方法小于0,a排在b之前
    //如果这个方法等于0,a和b位置不变
    //如果这个方法大于0,b排在a之前
    
    // a.sort((a,b)=>a-b)
    // console.log("a:"+a);//a:-27,-4,0,0,1,2,3,5,9,12,20,33,88
    a.sort((a,b)=>b-a)
    console.log("a:"+a);//a:88,33,20,12,9,5,3,2,1,0,0,-4,-27

6.join(分隔)

    var a = [1, 2, 3,5,20,33,12,9,0,-4,-27,88,0]
    console.log("a:"+ a.join("-"));//a:1-2-3-5-20-33-12-9-0--4--27-88-0
    console.log("a:"+ a.join("|"));//a:1|2|3|5|20|33|12|9|0|-4|-27|88|0
    console.log("a:"+ a.join("/"));//a:1/2/3/5/20/33/12/9/0/-4/-27/88/0

7.reverse(反转)

    var a = [1, 2, 3,5,20,33,12,9,0,-4,-27,88,0]
    console.log("a:"+ a.reverse());//a:0,88,-27,-4,0,9,12,33,20,5,3,2,1

8.splice(增删改)

    var a = [1, 2, 3,5,20,33,12,9,0,-4,-27,88,0]
    //splice(开始,移除个数,[要添加的元素,元素,元素...])
    //只填开始参数,那么splice会从索引2开始
    console.log("a:"+ a.splice(2));//a:3,5,20,33,12,9,0,-4,-27,88,0

    //从索引2开始删除0个并添加你好和999
    var b = a.splice(2,0,['你好',999])
    console.log("a:"+ a);

9.map(遍历数组返回新数组)

    var a = [1, 2, 3,5,20,33,12,9,0,-4,-27,88,0]
    var newArr = a.map(function (item,index,a) {
        // console.log('index:'+index);
        // console.log('item:'+item);
        // console.log('a:'+a);
        item = 2
        return item
    })
    console.log('a:'+a);//a:1,2,3,5,20,33,12,9,0,-4,-27,88,0
    console.log('newArr:'+newArr);//newArr:2,2,2,2,2,2,2,2,2,2,2,2,2

10.forEach(遍历每个元素,没有返回值)

    var a = [1, 2, 3,5,20,33,12,9,0,-4,-27,88,0]
    var newArr = a.forEach(function (item,index,a) {
        // console.log('index:'+index);
        // console.log('item:'+item);
        // console.log('a:'+a);
        item = 2
        return item
    })
    console.log('a:'+a);//a:1,2,3,5,20,33,12,9,0,-4,-27,88,0
    console.log('newArr:'+newArr);//newArr:undefined

11.every(对数组每一项进行判断,所有都为true时返回true,有一个false时则直接返回false并停止遍历)

    var a = [1, 2, 3,5,20,33,12,9,0,-4,-27,88,0]
    //数组里的数全都比-999大所以返回true
    console.log('a:'+a.every(i => i > -999));//a:true
    //数组里有比0小的数所以返回false
    console.log('a:'+a.every(i => i > 0));//a:false

12.some(对每一项判断,有一个满足条件则返回true并停止遍历)

    var a = [1, 2, 3,5,20,33,12,9,0,-4,-27,88,0]
    //数组里有比80大的数所以返回true
    console.log('a:'+a.some(i => i > 80));//a:true
    //数组里没有比100大的数所以返回false
    console.log('a:'+a.some(i => i > 100));//a:false

13.filter(过滤)

    var a = [1, 2, 3,5,20,33,12,9,0,-4,-27,88,0]
    //查找比80大的数
    console.log('a:'+a.filter(i => i > 80));//a:88
    //查找比50小的数
    console.log('a:'+a.filter(i => i < 50));//a:1,2,3,5,20,33,12,9,0,-4,-27,0

14.find(查找符合条件的元素,注意:返回的是第一个符合条件的值)

    var a = [1, 2, 3,5,20,33,12,9,0,-4,-27,88,0]
    var b = a.find(element => element > 20)
    console.log(b);//33

15.findindex(返回第一个符合条件的元素索引位置)

    var a = [1, 2, 3,5,20,33,12,9,0,-4,-27,88,0]
    var b = a.findIndex(element => element > 20)
    console.log(b);//5

16.slice(只有一个参数时,返回指定位置到数组末尾的所有项,两个参数时,返回两个下标之间的所有项)

    var a = [1, 2, 3,5,20,33,12,9,0,-4,-27,88,0]
    //注意下标为5的33没有算进去
    console.log(a.slice(2,5));//[3, 5, 20]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值