2013-10-05 2 views
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 
+5

Начните с if' 'for' +'. Тогда спросите что-то более конкретное, когда вы застряли – zerkms

ответ

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" 
    ] 
}" 
+0

Спасибо, что сделал! –

Смежные вопросы