所以,如果我有两个数组...
const arr1 = [ { id: 1: newBid: true } ];
const arr2 = [ { id: 1, newBid: false }, { id: 2, newBid: false } ];
我想要一个像这样的数组
[ { id: 1, newBid: false }, { id: 2, newBid: false } ]
但是...我希望 { id: 1, newBid: true }
来自 arr1
而不是 arr2
我使用 Lodash uniqBy(arr1, arr2, ['id'])
,但它删除了第一次出现,而不是第二次出现
最佳答案
您应该使用lodash mergeWith
函数。
const arr1 = [{
id: 1,
newBid: true
}];
const arr2 = [{
id: 1,
newBid: false
}, {
id: 2,
newBid: false
}];
function customizer(firstValue, secondValue) {
if(firstValue)
return firstValue;
else
return secondValue;
}
console.log(_.mergeWith(arr1, arr2, customizer));
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.js"></script>
关于javascript - 如何从两个数组中获取唯一的集合,通过键的值删除第二次出现的项目,而不是像 Lodash unique By 那样删除第一个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50650156/