【发布时间】:2017-11-27 08:38:18
【问题描述】:
我想基于key:value使用Lodash合并两个对象,这里我需要比较itemId和id,如果两个值相等我想添加price和itemId到列表中。下面我展示了一个小例子以及预期的输出:
item:{
itemStatus:[
{ itemId:1, status: true, price:200 },
{ itemId:2, status: true, price:500 }
],
menuItem:[
{ id:1, name:'buddy', status: true},
{ id:2, name:'buddy22', status: true},
{ id:3, name:'buddy44', status: true}
]
}
我的结果应该是这样的:
{ id:1, itemId:1, name:'buddy', status: true, price:200},
{ id:2, itemId:2, name:'buddy22', status: true, price:500},
{ id:3, itemId:3, name:'buddy44', status: true}
我尝试使用此代码:
var arrResult = _.map(menuItem, function(obj) {
return _.assign(obj, _.find(itemStatus, {
itemId: obj.id
}));
});
但是itemId 正在替换id。有人可以重写代码吗?
【问题讨论】:
标签: javascript lodash