假設(shè)有兩組數(shù)組,其中的對(duì)象有一個(gè)指定的屬性一致,根據(jù)一樣的屬性進(jìn)行合并
let a = [{name:1,title:1},{name:2,title:2}]
let b = [{name:1,src:3},{name:2,src:3}]
let c= [...a,...b];
let dd =c.reduce((prev,next)=>{//reduce中return的元素會(huì)作為prev繼續(xù)使用
prev[next.name]?prev[next.name]={...next,...prev[next.name]}:prev[next.name]={...next}
return prev
},{})
console.log(Object.values(dd))
reduce的參考用法:
var arrString = 'abcdaabc';
arrString.split('').reduce(function(res, cur) {
res[cur] ? res[cur] ++ : res[cur] = 1
return res;
}, {})