Heim  >  Artikel  >  Web-Frontend  >  Wie kann ich JavaScript-Objekte in einem Array zusammenführen, die denselben Schlüssel haben?

Wie kann ich JavaScript-Objekte in einem Array zusammenführen, die denselben Schlüssel haben?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-02 02:55:02819Durchsuche

How can I merge JavaScript objects in an array that share the same key?

JavaScript-Objekte in einem Array mit demselben Schlüssel zusammenführen

Um Array-Inhalte von JavaScript-Objekten mit einem gemeinsamen Schlüssel effektiv zu kombinieren, umfasst eine zuverlässige Lösung Folgendes:

  1. Identifizieren vorhandener Elemente: Beginnen Sie mit der Iteration durch das Array und isolieren Sie jedes Objekt mit dem angegebenen Schlüssel mithilfe der Filtermethode. Zum Beispiel:
<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>
  1. Werte zusammenführen: Wenn ein passendes Objekt gefunden wird, wird sein Index bestimmt und die Werte werden an das Wertearray des vorhandenen Objekts angehängt :
<code class="javascript">if (existing.length) {
    var existingIndex = output.indexOf(existing[0]);
    output[existingIndex].value = output[existingIndex].value.concat(item.value);</code>
  1. Neue Objekte hinzufügen: Sollte ein Schlüssel ohne passendes Objekt gefunden werden, wird er als neues Objekt zum Ausgabearray hinzugefügt:
<code class="javascript">} else {
    if (typeof item.value == 'string')
      item.value = [item.value];
    output.push(item);</code>

Durch Befolgen dieser Schritte kann das bereitgestellte Array in die gewünschte Ausgabe umorganisiert werden, wobei alle mit einem bestimmten Schlüssel verknüpften Werte in einem einzigen Objekt innerhalb des Arrays zusammengeführt werden.

Das obige ist der detaillierte Inhalt vonWie kann ich JavaScript-Objekte in einem Array zusammenführen, die denselben Schlüssel haben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn