Maison > Article > interface Web > Comment puis-je fusionner des objets JavaScript dans un tableau partageant la même clé ?
Pour combiner efficacement le contenu d'un tableau à partir d'objets JavaScript partageant une clé commune, une solution fiable implique :
<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>
En suivant ces étapes, le tableau fourni peut être réorganisé dans la sortie souhaitée, avec toutes les valeurs associées à une clé particulière fusionnées en un seul objet au sein du tableau.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!