Heim >Web-Frontend >js-Tutorial >Wie kann ich ein 2D-Array in JavaScript einfach transponieren?

Wie kann ich ein 2D-Array in JavaScript einfach transponieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-17 09:09:25418Durchsuche

How Can I Easily Transpose a 2D Array in JavaScript?

Ein 2D-Array mit Leichtigkeit in JavaScript transponieren

Das Transponieren eines 2D-Arrays umfasst die Konvertierung von Zeilen in Spalten und umgekehrt. Dies geschieht häufig, um Daten für bestimmte Verarbeitungsanforderungen umzuformen. Obwohl die Verwendung von Schleifen üblich ist, gibt es einen bequemeren Ansatz.

Betrachten Sie das folgende 2D-Array:

[
    [1,2,3],
    [1,2,3],
    [1,2,3],
]

Um es zu transponieren in:

[
    [1,1,1],
    [2,2,2],
    [3,3,3],
]

Sie können die Macht der Karte nutzen:

output = array[0].map((_, colIndex) => array.map(row => row[colIndex]));

Die Karte verstehen Die Funktion

map iteriert über jedes Element eines Arrays und wendet eine Rückruffunktion an, um die Elemente zu transformieren. Die Ausgabe ist ein neues Array, das die transformierten Werte enthält.

Aufschlüsselung des Transponierungscodes

  • array[0] greift auf die erste Zeile des Eingabearrays zu.
  • Die Callback-Funktion (_, colIndex) empfängt das Element (_) und seinen Spaltenindex (colIndex).
  • Im Rückruf iteriert array.map(row => row[colIndex]) über jede Zeile und extrahiert das Element am angegebenen Spaltenindex.
  • Das Ergebnis ist ein neues Array von Spaltenwerten.

Fazit

Dieser prägnante Ansatz mit Map rationalisiert den Transpositionsprozess, macht verschachtelte Schleifen überflüssig und vereinfacht den Code erheblich.

Das obige ist der detaillierte Inhalt vonWie kann ich ein 2D-Array in JavaScript einfach transponieren?. 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