ホームページ >ウェブフロントエンド >jsチュートリアル >同じキーを持つ配列内の JavaScript オブジェクトをマージするにはどうすればよいですか?
JavaScript では、共通のキーを持つオブジェクトの配列があり、それらの値を単一のオブジェクトにマージする必要があります。これは、データの整理と集約に役立ちます。
たとえば、次のオブジェクトの配列を考えてみましょう:
<code class="javascript">var array = [ { name: "foo1", value: "val1" }, { name: "foo1", value: [ "val2", "val3" ] }, { name: "foo2", value: "val4" } ];</code>
この例では、オブジェクトはキー「name」を共有します。それらの値を 1 つのオブジェクトにマージするには、次のアプローチを使用できます。
<code class="javascript">var output = []; array.forEach(function(item) { var existing = output.filter(function(v, i) { return v.name == item.name; }); if (existing.length) { var existingIndex = output.indexOf(existing[0]); output[existingIndex].value = output[existingIndex].value.concat(item.value); } else { if (typeof item.value == 'string') item.value = [item.value]; output.push(item); } }); console.dir(output);</code>
このコードの出力は、2 つのオブジェクトの配列になります。
<code class="javascript">[ { name: "foo1", value: [ "val1", "val2", "val3" ] }, { name: "foo2", value: [ "val4" ] } ]</code>
この結果では、 、「foo1」キーの値は単一の配列にマージされ、「foo2」キーは変更されません。このアプローチにより、共通のキーを共有する配列内のオブジェクトを効率的にマージし、それらの値をより組織化された表現に統合できます。
以上が同じキーを持つ配列内の JavaScript オブジェクトをマージするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。