gpt4 book ai didi

javascript - lodash/下划线;比较两个对象并删除重复项

转载 作者:搜寻专家 更新时间:2023-11-01 05:00:31 25 4
gpt4 key购买 nike

如下图所示,我返回了一些包含三个对象的 json data;每个都包含一个客户 ID => 数据。

Returned json data

exact_match : {104}
match_4 : {104, 103}
match_2 : {104, 103, 68}

如何根据以前的对象“trim ”或删除重复的对象?像这样的东西:

exact_match : {104}
match_4 : {103}
match_2 : {68}

我试过了 _.difference但是没有用(也许是因为它是针对数组而不是对象的?):

var exact_match = data.exact_match,
match_four_digits = _.difference(data.match_4, data.exact_match),
match_two_digits = _.difference(data.match_2, data.exact_match, data.match_4),

任何帮助将不胜感激:)

更新

我需要返回值具有相同的对象数据而不是新数组:)

最佳答案

看起来您想区分键(或者更确切地说,它会很有效 — _.keys)

_.difference(
_.keys({104: 1, 102: 3, 101: 0}), // ["104", "102", "101"]
_.keys({104: 1, 102: 3}) // ["104", "102"]
)
// [ "101" ]

或者,如果您也想在对象内进行比较 (_.pairs),您始终可以将对象转换为对数组:

_.difference(
_.pairs({104: 1, 102: 3, 101: 0}), // [["104",1], ["102",3], ["101",0]]
_.pairs({104: 1, 102: 2}) // [["104",1], ["102",2]]
)
// [["102", 3], ["101", 0]]

关于javascript - lodash/下划线;比较两个对象并删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28858853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com