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

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

Linda Hamilton
Freigeben: 2024-12-15 12:42:12
Original
670 Leute haben es durchsucht

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

Transponieren eines 2D-Arrays mit der Condensed Syntax von JavaScript

Das Transponieren eines 2D-Arrays beinhaltet die Konvertierung von Zeilen in Spalten und umgekehrt. Während es grundlegende schleifenbasierte Lösungen gibt, bietet JavaScript einen prägnanteren Ansatz, der funktionale Programmiertechniken nutzt.

Betrachten Sie das bereitgestellte 2D-Array:

[
    [1, 2, 3],
    [1, 2, 3],
    [1, 2, 3],
]
Nach dem Login kopieren

Die prägnante Transposition mit map() kann sein ausgedrückt als:

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

Aufschlüsselung der Code:

  1. array[0].map: Iteriert über die erste Zeile des ursprünglichen Arrays.
  2. (_, colIndex): Während die äußere Karte leere Elemente durchläuft, wird der Platzhalter für den Unterstrich (_) anstelle eines tatsächlichen Werts verwendet. colIndex stellt den Spaltenindex dar.
  3. array.map: Für jeden Spaltenindex iteriert diese innere Karte durch das ursprüngliche Array.
  4. row => row[colIndex]: Extrahiert das Element in der angegebenen Spalte für jede Zeile.

Das Ergebnis ist ein neues 2D-Array, bei dem jede Zeile im ursprünglichen Array zu einer Spalte im transponierten Array geworden ist :

[
    [1, 1, 1],
    [2, 2, 2],
    [3, 3, 3],
]
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich ein 2D-Array in JavaScript effizient transponieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage