两个只匹配一个键的数组的Lodash差异

问题描述 投票:0回答:2

我有一个像这样的阵列

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' }]

我试过的是

qazxsw poi但它检查qazxsw poi和qazxsw poi我怎么能得到只匹配关键_.differenceWith(old,new,_.isEqual)的数组

javascript arrays lodash
2个回答
1
投票

使用idname作为iteratee的简写。

注意:id是javascript中的_.differenceBy(),不能用于变量名。

id
new

1
投票

你可以像往常一样选择_.lodash。

如果你想改变数组,那么使用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>
_.pullAllBy
© www.soinside.com 2019 - 2024. All rights reserved.