需求是:需要将数组sourceList中的每个对象处理为多个对象,然后放在数组resultList中返回。
- 之前写此类需求时,一般是先遍历数组,然后得到处理的两个对象,再push到新数组中
let resultList = []
sourceList.forEach((item) => {
// 此处也可以push
resultList = [
...resultList,
{ name: 'xxx', value: item.value },
{ name: 'yyy', value: item.value },
{ name: 'zzz', value: item.value },
]
})
return resultList
- 使用flatMap可以一遍遍历一遍返回到数组中再拍平
let resultList = sourceList.flatMap((item) => {
return [
{ name: 'xxx', value: item.value },
{ name: 'yyy', value: item.value },
{ name: 'zzz', value: item.value },
]
})
- 对比了下两种方式的区别