2017-06-21 8 views
-1

私は一つの大きな配列にデータを持っています。 999配列から他の配列にデータを区切ります

オブジェクト{123:オブジェクト{名:トム、gameid:999}、111 Everythink一ARRYで、私はこの大きなアレイbeacue各gameidための別々のアレイを作成する場合の例をgameidでいくつかの行を有します:オブジェクト{名:ロブ、gameid:999}、222: オブジェクト{名:JON、gameid:1000}、333 {オブジェクト名:ヘンリー、gameid:1000}}

私は持っていません良いアイデア。

結果は次のようになります。

AllGameIdArry [ 
    array[gameid:999]: [{ username: rob},{ username: tom}] 
    array[gameid:1000]: [{ username: rob},{ username: tom}] 
    array[gameid:1001]: [{ username: rob},{ username: tom}] 
    array[gameid:1002]: [{ username: rob},{ username: tom}] 
] 

答えて

0
var x = {123: { username: `tom`, gameid: 999 }, 111: { username: `rob`, gameid: 999 }, 222: { username: `jon`, gameid: 1000 }, 333: { username: `henry`, gameid: 1000 }} 

var final = {}; 
for (key of Object.keys(x)) { 
if (!final[`gameid:${x[key].gameid}`]) 
    final[`gameid:${x[key].gameid}`] = []; 
final[`gameid:${x[key].gameid}`].push({username: x[key].username}); 
} 

あなたの最初の例はあまりよくありませんでしたが、私はより良い方法で勉強して行うために、少なくとも、あなたが望むかもしれない何かをしたしました

関連する問題