Kombinieren von Arrays nach eindeutigen Elementen in JavaScript
In JavaScript können Sie Arrays basierend auf eindeutigen Elementen mithilfe einer Kombination aus Objekteigenschaften und einer Schleife kombinieren Funktionen.
Lösung:
Erstellen Sie zunächst ein leeres Array „newCells“, um die kombinierten Ergebnisse zu speichern. Dann durchlaufen Sie jedes Element im ursprünglichen Array:
<code class="js">for (var i = 0; i < totalCells.length; i++) { var lineNumber = totalCells[i].lineNumber; // Check if an object for the current line number already exists in newCells if (!newCells[lineNumber]) { // Create a new object with the line number and an empty array to store cell widths newCells[lineNumber] = { lineNumber: lineNumber, cellWidth: [] }; } // Add the current cellWidth to the array in the new object newCells[lineNumber].cellWidth.push(totalCells[i].cellWidth); }</code>
Dieser Code iteriert durch das totalCells-Array und prüft, ob in newCells bereits ein Objekt mit der aktuellen Zeilennummer vorhanden ist. Wenn nicht, wird ein neues Objekt mit der Zeilennummer erstellt und ein leeres cellWidth-Array initialisiert. Anschließend wird die aktuelle Zellenbreite in das Array „cellWidth“ verschoben.
Das resultierende Array „newCells“ enthält Objekte mit eindeutigen lineNumber-Eigenschaften und Arrays von cellWidth-Werten, die basierend auf den Zeilennummern kombiniert werden.
Beispielausgabe:
Anwenden der obigen Lösung auf die bereitgestellte Beispieleingabe:
<code class="js">totalCells = [ { cellwidth: 15.552999999999999, lineNumber: 1 }, { cellwidth: 14, lineNumber: 2 }, { cellwidth: 14.552999999999999, lineNumber: 2 }, { cellwidth: 14, lineNumber: 1 } ]; // Code to combine arrays based on unique line numbers // ... // Output console.log(newCells);</code>
Wird ausgegeben:
<code class="js">[ { lineNumber: 1, cellWidth: [15.552999999999999, 14], }, { lineNumber: 2, cellWidth: [14, 14.552999999999999], }, ]</code>
Das obige ist der detaillierte Inhalt vonWie kombiniere ich Arrays basierend auf eindeutigen Elementen in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!