1分钟get ES6 常用函数map、find、set...

2020-04-16  本文已影响0人  第101次弃游

常用的map、set、filter、find、findIndex、forEach、reduce处理list的应用整理。

原理什么的可以慢慢看需求来了先码上,2分钟迅速get


map: 从一个列表中获取某个值对应的list

eg:从一个dataListSelections数据中取出列表中每一项的status组成一个新的列表statusList

var statusList = this.dataListSelections.map(item => { console.log(item.status); return item.status; });

set:数组去重

eg:从orgIds中获得没有重复值的orgIdSet

var orgIdSet = new Set(orgIds);

filter:过滤某符合条件的数据

eg:从dataListSelections中过滤得到状态为true的数据enableListSelections

var enableListSelections = this.dataListSelections.filter(item => item.status === true); 


reduce 实现循环相加,acc . (场景:计算 list中某一项的和)

eg:  draftListSelections中所有startQuantity的数量求和赋值给res

let res = draftListSelections.reduce((acc, cur) => { return acc + Number(cur.startQuantity); }, 0);

find 查找一个对象里的元素,找到就返回该元素,找不到返回undefined。

eg :list中查找value 为1 的的元素,查到返回1,找不到返回undefined

let target = list.find(item => item.value === value);

findIndex 查找,找到返回index 找不到返回-1)

var index = list.findIndex((value) => { return value === 1; });

forEach :遍历每一个元素

eg:将selectRightTableData中的所有元素的status改为true

this.selectRightTableData.forEach(item => item.status = true})

上一篇下一篇

猜你喜欢

热点阅读