轉自於:https://www.cnblogs.com/keleyz/p/10118648.html
項目背景是合並a = [{name:'dede'},{name:'jenny'}], b = [{age:18},{age:19}] 合並成[{name:'dede',age:18},{name:'jenny',age:19}],
思路是遍歷其中一個數組,將這個數組中的屬性值push到另一個數組中,,,遍歷用了map 和 forEach的方法,截圖如下:
這種情況一般是兩個數組等長的情況(項目背景也是這樣的),后續考慮封裝一個函數,
簡單封裝來一個函數,
//a,b為數組,需要將b數組里面的屬性合並到a里面 attrName 為要合並的屬性名稱
function merge(a,b,attrName){
let attr = attrName
b.map((value,index)=>{
//數組b 長度大於a的長度時,需要判斷
if(a[index] !== undefined){
a[index][attr] = value[attr]
} else{
return
}
})
return a
}
var a = [{name:'dede'},{name:'jeen'}]
var b = [{age:'18'},{age:'19'},{age:'20'}]
var c = 'age'
merge(a,b,c)
console.log(a)
截圖:
簡單封裝,業務需求的邊界值情況等特殊情況沒有考慮。