by]

问题描述 投票:1回答:1
. Of course I reviewed

_.difference[with by]. Of course I reviewed _.difference[with 宿雾,我想找到两个数组之间所有不同的元素,基本上是相反的或反过来的 _.交集[与或优雅的选项。我只对基于lodash的解决方案感兴趣。这是我能想到的最接近于得到一个唯一的数组的值,并且在两个数组之间是不同的。我对带有

数组中没有的属性,以及与之匹配的值。id 属性不同 id 属性。v这段代码会产生。

const n = [{id: 0, v: 9.7}, {id: 1, v: 1.7}, {id: 3, v: 2.6}, {id: 4, v: 1.89}]
const o = [{id: 1, v: 1.7}, {id: 3, v: 3.6}, {id: 7, v: 0.89}, {id: 4, v: 1.89}]

_.uniqBy(_.concat(
    _.differenceWith(n, o, _.isEqual), _.differenceWith(o, n, _.isEqual)), 'id')

[{id: 0, v: 9.7}, {id: 3, v: 2.6}, {id: 7, v: 0.89}]
javascript lodash
1个回答
0
投票

两次,因为这样一来,它的结果就会产生可用的信息,例如

我不知道上位机的用例是什么,所以我不知道这是否直接相关,但也许可以帮助其他人。

_.difference

if (!_.isEqual(a, b) {
  const idsFromBThatAreNotInA = _.difference(a, b);
  const idsFromAThatAreNotInB = _.difference(b, a);
}

© www.soinside.com 2019 - 2024. All rights reserved.