2

これらの2つのオブジェクトをJavaScriptでマージするにはどうすればよいですか?

h1 = {12: [{actor: 'wayne'}, {actor: 'bill'}], 13: [{actor: 'james'}]}
h2 = {13: [{actor: 'mark'}]}

取得するため:

result = {12: [{actor: 'wayne'}, {actor: 'bill'}], 13: [{actor: 'james'}, {actor: 'mark'}]}

基本的に、オブジェクトのキーに基づいて配列を連結したいと思います。

4

1 に答える 1

6

あなたはそれを行うことができます:

for (var k in h2) {
   h1[k]=(h1[k]||[]).concat(h2[k]);
}

結果のオブジェクトはh1になります。

デモンストレーション(コンソールを開く)

h1を変更しない場合は、次のようにします。

h3 = {};
for (var k in h1) h3[k]=h1[k].slice();
for (var k in h2) h3[k]=(h3[k]||[]).concat(h2[k]);
于 2013-01-04T17:36:31.390 に答える