要有效地组合共享公共键的 JavaScript 对象的数组内容,一种可靠的解决方案包括:
<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中文网其他相关文章!