简单记录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方法或许可以帮到你
新手理解,若有误,请各位大佬指点,Thanks♪(・ω・)ノ

浙公网安备 33010602011771号