案例:
因为后端并没有将下面的两个字段一起带过来,需要前端做出判断,并且合并, 但 数组中的orgId和下面对象的索引是相同的,我们可以用这个来做判断, 个人操作:
var a = res.data.data
var b = res.data.dict.org
var result = []
a.forEach(item => {
var newItem = Object.assign({}, item, b[item.orgId] || {})
return result.push(newItem)
})
console.log(result)
大神操作
var b = res.data.dict.org //下面的那两个对象
var a = res.data.data //数组
var c = [] //定义了个空的数组,用作后面接收参数
a.forEach(item=>{ //循环数组,拿到每个对象的orgId跟下面对象的索引进行比对
for (var k in b){ //循环下面的对象,拿到索引。
if(item.orgId === parseInt(k)){ //判断如果索引值和orgId相等那么就进行合并
item = {...item,...b[k]} //定义一个新的item,将本来的item展开,再展开符合条件的b[k],进行合并
return c.push(item) //最后由将push出的数组 return出去
}
}
})
console.log(c) //这个时候就已经完成了合并了
菜鸟操作。