【问题标题】:Merge multidimensional array using Underscorejs使用 Underscorejs 合并多维数组
【发布时间】:2014-05-17 03:58:30
【问题描述】:
[{"ic_value1":"PTP-1","in_id":"80"},{"ic_value1":"PTP-2","in_id":"81"},{"ic_value1":"PTP-3A","in_id":"82"},{"ic_value1":"PTP-3B","in_id":"83"},{"ic_value1":"PTP-4","in_id":"84"},{"ic_value1":"PTP-5A","in_id":"85"},{"ic_value1":"PTP-5B","in_id":"86"},{"ic_value1":"PTP-6","in_id":"87"},{"ic_value1":"PTP-7","in_id":"88"},{"ic_value1":"PTP-8","in_id":"89"},{"ic_value1":"PTP-9A","in_id":"90"},{"ic_value1":"PTP-9B","in_id":"91"},{"ic_value1":"PTP-10","in_id":"92"},{"ic_value1":"PTP-11","in_id":"93"},{"ic_value1":"PTP-12A","in_id":"94"},{"ic_value1":"PTP-13","in_id":"95"},{"ic_value1":"PTP-13","in_id":"96"},{"ic_value1":"PTP-14","in_id":"97"},{"ic_value1":"PTP-15","in_id":"98"},{"ic_value1":"PTP-16","in_id":"99"},{"ic_value1":"DH-129","in_id":"100"},{"ic_value1":"DH-130","in_id":"101"}]

[{"ic_value1":"09+75","in_id":"80"},{"ic_value1":"09+75","in_id":"81"},{"ic_value1":"09+09","in_id":"82"},{"ic_value1":"09+09","in_id":"83"},{"ic_value1":"09+06","in_id":"84"},{"ic_value1":"08+08","in_id":"85"},{"ic_value1":"08+08","in_id":"86"},{"ic_value1":"08+08","in_id":"87"},{"ic_value1":"08+00","in_id":"88"},{"ic_value1":"07+10","in_id":"89"},{"ic_value1":"06+00","in_id":"90"},{"ic_value1":"06+00","in_id":"91"},{"ic_value1":"04+43","in_id":"92"},{"ic_value1":"10+99","in_id":"93"},{"ic_value1":"10+83","in_id":"94"},{"ic_value1":"03+84","in_id":"95"},{"ic_value1":"03+84","in_id":"96"},{"ic_value1":"04+52","in_id":"97"},{"ic_value1":"03+94","in_id":"98"},{"ic_value1":"04+54","in_id":"99"},{"ic_value1":"07+82","in_id":"100"},{"ic_value1":"07+42","in_id":"101"}] 

[{"ic_value1":"112D","in_id":"80"},{"ic_value1":"190D","in_id":"81"},{"ic_value1":"096D","in_id":"82"},{"ic_value1":"096D","in_id":"83"},{"ic_value1":"184D","in_id":"84"},{"ic_value1":"092D","in_id":"85"},{"ic_value1":"092D","in_id":"86"},{"ic_value1":"190D","in_id":"87"},{"ic_value1":"040D","in_id":"88"},{"ic_value1":"040D","in_id":"89"},{"ic_value1":"010D","in_id":"90"},{"ic_value1":"010D","in_id":"91"},{"ic_value1":"017D","in_id":"92"},{"ic_value1":"060D","in_id":"93"},{"ic_value1":"020D","in_id":"94"},{"ic_value1":"007D","in_id":"95"},{"ic_value1":"007D","in_id":"96"},{"ic_value1":"024D","in_id":"97"},{"ic_value1":"048D","in_id":"98"},{"ic_value1":"050D","in_id":"99"},{"ic_value1":"095D","in_id":"100"},{"ic_value1":"080D","in_id":"101"}] 

如何将这三个数组对齐为行和列。每个第一项都包含相同的in_id,我想把它放在一行和一列

预期输出:

[{80: ["PTP-1","09+75","112D"]]

类似的东西

如何使用 underscorejs 实现

【问题讨论】:

  • 能否包含预期的输出?
  • 好的,我更新我的问题。谢谢
  • 81、82和83呢?
  • 应该被附加。如果第一个数组的长度与第二个数组的长度不同,则应应用空值
  • 请在问题中也包含这一点。在问题明确之前,大多数人将无法更好地帮助您。

标签: underscore.js backbone.js-collections


【解决方案1】:

由于 id 似乎以相同的顺序出现在三个数组中的每一个中,所以很简单

_.map(_.zip(array1, array2, array3), function(row) {
    var o = {};
    o[row[0].in_id] = _.pluck(row, "ic_value1");
    return o;
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多