0

我有这些对象驻留在数组中。我想按键排列它们并一次显示一个键的所有值。

[ { '18': 'x' },
  { '17': 'y' },
  { '17': 'z' },
  { '18': 'A' },
  { '18': 'B' },
  { '19': 'C' },
  { '19': 'D' },
  { '19': 'A' } ]

我想最终在我的 node.js 应用程序中将其显示为:

17 -> y,z
18 -> X, A, B
19 -> C, D, A
4

1 回答 1

1
var hash={};
for (var i=0; i<a.length; i++) {
  for (var keys=Object.keys(a[i]), k=0; k<keys.length; k++) {
    var key = keys[k];
    console.log(key);
    if (hash[key]) {
      hash[key].push(a[i][key]);
    }
    else {
      hash[key]=[a[i][key]];
    }
  }
}

产量

"{
    "17": [
        "y",
        "z"
    ],
    "18": [
        "x",
        "A",
        "B"
    ],
    "19": [
        "C",
        "D",
        "A"
    ]
}"
于 2013-10-05T02:08:28.823 回答