从数组中的对象提取数据

时间:2013-10-05 00:14:14

标签: javascript node.js

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

[ { '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

1 个答案:

答案 0 :(得分: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"
    ]
}"