循环数组处理方法

map()方法:全部循环,不改变原数组,会生成新的数组。

    test(){
          let arr=[0,1,2,3,4];
          let afterArr = arr.map(val => val+2)
          console.log(arr);//[0, 1, 2, 3, 4]
          console.log(afterArr);//[2, 3, 4, 5, 6]
        },


foreach():全部循环,可以重新给原数组赋值

test(){
      let arr=[0,1,2,3,4];
      let afterArr = arr.forEach((val, idx) => arr[idx]=val+2)
      console.log(arr);//[2, 3, 4, 5, 6]
      console.log(afterArr);//undefined
    },


filter():过滤出满足条件的部分数据,不会改变原数组,会生成新的数组

test(){
      let arr=[0,1,2,3,4];
      let result = arr.filter(one => one>2);
      console.log(result); //[3,4]
    },


every():若目标数组中每一个对象都符合条件则返回true,否则返回false

some():若目标数组中某一个对象都符合条件则返回true,否则返回false

test(){
      let arr=[0,1,2,3,4];
      let every_result = arr.every(one => one>2);
      let some_result = arr.some(one => one>2);
      console.log(every_result); //false
      console.log(some_result);//true
    },


reduce():常用于叠加,可以代替forEach等

    

test() {
      let arr = [0, 1, 2, 3, 4];
      var sumValue = arr.reduce(function (sum, number) {
        //第一个参数为叠加总值,需要初始化,第二个参数是当前项
        return sum + number;
      }, 0); //sum的初始化
      console.log(sumValue); //10
    },


find():在数组中找到符合要求的对象 和filter的区别就是找到符合要求的对象就停止寻找了,返回的是一个对象,而filter返回的是所有符合要求的对象组成的新数组

test() {
      let arr = [0, 1, 2, 3, 4];
      var big = arr.find(val => val>2);
      console.log(big); //3
    },


findIndex():findIndex返回第一个符合条件的索引号

   

 test1() {
      let arr = [1, 1, 2, 0, 4];
      var big = arr.findIndex(val => val>2);
      console.log(big); //下标为4
    },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值