简单记录forEach、filter、map、some、every、find、findIndex、reduce

测试用数组:
let NubList = [ { id: 1001, label: 80 }, { id: 1002, label: 120 }, { id: 1003, label: 90 }, { id: 1004, label: 85 }, { id: 1005, label: 78 }, ]; let NubListFor = [40, 30, 60, 55, 70];

 

1、foreach

  // 批量操作
      NubList.forEach((item) => {
        item.label += 2;
      });

ps:map也可以实现类似的功能,只不过map有返回值而foreach即使加了return也没有返回值;

ps2:通过情况下foreach和map不会改变数组的数值,比如说第二个数组NumListFor中,如果使用foreach或者map来进行数值的增减的时候,需要用到index,即 item[index] +=2;

 

 

 2、map

  // map最适合做的事是映射,生成原始数据的特征信息的map
      let excel = NubList.map((item) => {
        return item.label;
      });
      //[82, 122, 92, 87, 80]

3、filter

 // filter筛选过滤
      let BiG = NubList.filter((item) => {
        return item.label >= 90;
      });

 

 

ps: filter()方法会将符合要求的数据重新组成一个新的数组返回

4、some

  // some只需要找到一个符合要求的即可返回
      var Need = NubList.some((item) => {
        return item.label > 80;
      });
      //true

ps:some()方法只需要找到一个符合要求的数据即可返回,返回值为true/false

5、every

//every 找到返回false的元素,如果遍历数组都没有,就返回true
      var Check = NubList.every((item) => {
        return item.label > 100;
      });
//true

ps:every()方法和some()类似,即找到一个不符合要求的元素就返回,如果遍历数组所有元素也没有找到的话,就返回true,反之false

6、find

   // find找到并返回符合条件的第一个元素
      var Find = NubList.find((item) => {
        return item.label > 100;
      });
//{id: 1002, label: 122}

ps:建议与findIndex()方法一起使用

7、findeIndex

// findIndex返回第一个符合条件的索引号
      var FindIndex = NubList.findIndex((item) => {
        return item.label > 100;
      });
    //1

8、reduce

var sum = NubList.reduce((sum, item) => {
        return item.label + sum;
      }, 0);
//453

ps:如果你需要获取当前数组元素的和,reduce方法或许可以帮到你

posted @ 2021-06-09 16:36  草莓糖&薄荷茶  阅读(101)  评论(0)    收藏  举报