reduce使用例子

1. 对象数组去重

let arr = [
  {name: 'mom', id:1},
  {name: 'timo', id:2},
  {name: 'mom', id:1},
  {name: 'timo', id:2},
]
let obj={};
const newarry = arr.reduce( (pre, item) => {
  obj[item.id] ? "" : (obj[item.id] = true && pre.push(item));
  return pre
},[])

2. 二维数组一维化

let arr = [[0, 1], [2, 3], [4, 5]]
let newArr = arr.reduce((pre,cur)=>{ return pre.concat(cur) },[]) console.log(newArr); // [0, 1, 2, 3, 4, 5]

3. 多维数组一维化

let arr2 = [[0, 1], [2, 3], [4,[5,6,7]]]

const newarr2 = function(arr2){
  return arr2.reduce((pre,item) => pre.concat(Array.isArray(item) ? newarr2(item):item), []);
}
posted @ 2022-07-05 18:19  不知码  阅读(43)  评论(0)    收藏  举报