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), []);
}

浙公网安备 33010602011771号