【问题标题】:Find a common values in array of objects and organize them在对象数组中找到共同的值并组织它们
【发布时间】:2022-11-20 02:17:03
【问题描述】:

我在弄清楚如何在对象数组中找到共同值时遇到问题。 我有一大堆对象,每 2 个对象都有相同的transactionHash。我需要找到那些具有相同值的对象并将它们放在一个数组中。

[
  [{...otherData, transactionHash: 1}, {...otherData, transactionHash: 1}]
  [{...otherData, transactionHash: 2}, {...otherData, , transactionHash: 2}]
]

我需要它就这样被归还!

我试图减少数组:

return yourData.reduce(function(curr, x) {
    (curr[x[key]] = curr[x[key]] || []).push(x);
    return curr;
})

令人惊讶的是,我将大部分数据重新组织起来,但不知何故,最后一个对象不在正确的位置,但存在具有相同“transactionHash”的对象。

【问题讨论】:

    标签: javascript arrays typescript


    【解决方案1】:

    您忘记为 curr 传递初始值 -

    return yourData.reduce(function(curr, x) {
        (curr[x[key]] = curr[x[key]] || []).push(x);
        return curr;
    }, {});
    

    如果你不这样做,那么yourData的第一个元素将被用作初始值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多