共通のキーを共有する JavaScript オブジェクトから配列の内容を効率的に結合するには、次のような信頼できる解決策が 1 つあります。
<code class="javascript">var array = [ { name: "foo1", value: "val1" }, { name: "foo1", value: ["val2", "val3"] }, { name: "foo2", value: "val4" } ]; var output = []; array.forEach(function(item) { var existing = output.filter(function(v, i) { return v.name == item.name; });</code>
<code class="javascript">if (existing.length) { var existingIndex = output.indexOf(existing[0]); output[existingIndex].value = output[existingIndex].value.concat(item.value);</code>
<code class="javascript">} else { if (typeof item.value == 'string') item.value = [item.value]; output.push(item);</code>
これらの手順に従うことで、提供された配列を特定のキーに関連付けられたすべての値が配列内の単一のオブジェクトにマージされ、目的の出力に再編成されます。
以上が同じキーを共有する配列内の JavaScript オブジェクトをマージするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。