我有一个这样的数组
var old = [ { id: 1, name: 'Super edit' },
{ id: 2, name: 'new item' },
{ id: 19, name: 'new item' } ]
var new = [ { id: 1, name: 'Super edit' },{ id: 2, name: 'new item' }]
我想得到上面两个与键
id
不匹配的区别。预期结果:
[{ id: 19, name: 'new item' }]
我试过的是
_.differenceWith(old,new,_.isEqual)
,但同时检查id
和name
我如何才能获得仅与键
id
相匹配的数组 最佳答案
将_.differenceBy()
和id
用作iteratee的简写。
注意:new
是javascript中的reserved word,不能用于变量名。
const oldArr = [{ id: 1, name: 'Super edit' },{ id: 2, name: 'new item' },{ id: 19, name: 'new item' }]
const newArr = [ { id: 1, name: 'Super edit' },{ id: 2, name: 'new item' }]
const result = _.differenceBy(oldArr, newArr, 'id')
console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.min.js"></script>
关于javascript - 仅匹配一个键的两个数组的Lodash差,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52109696/