2013-10-05 43 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

開始用'for' +'if'。然後在卡住的時候再問一些更具體的東西 – 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

非常感謝你! –