Heim >Web-Frontend >js-Tutorial >Wie kann ich ein 2D-Array in JavaScript mithilfe der Map-Methode transponieren?

Wie kann ich ein 2D-Array in JavaScript mithilfe der Map-Methode transponieren?

DDD
DDDOriginal
2024-12-09 14:56:11574Durchsuche

How Can I Transpose a 2D Array in JavaScript Using the Map Method?

Transponieren eines 2D-Arrays in JavaScript mit Map

Bei einem gegebenen 2D-Array bedeutet Transponieren, dass seine Zeilen und Spalten ausgetauscht werden. Beispielsweise würde die Transponierung des folgenden Arrays:

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

zu Folgendem führen:

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

Während es möglich ist, eine Transposition mithilfe von Schleifen zu erreichen, verwendet ein prägnanterer Ansatz die Kartenmethode:

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

Die Map-Methode iteriert über das äußere Array (erstes Array) und erstellt ein neues Array, indem sie die Rückruffunktion für jedes Element aufruft. In diesem Fall erstellt die Rückruffunktion ein inneres Array, indem sie über die inneren Arrays des ursprünglichen Arrays iteriert.

Zu den Parametern der Rückruffunktion gehören:

  • _: Eine Platzhaltervariable, die darstellt das aktuelle Element, wird aber nicht verwendet.
  • colIndex: Der Index der aktuellen Spalte.
  • row: Das aktuelle Innere Array.

Während jeder Iteration ruft die Rückruffunktion das Element am angegebenen Spaltenindex aus dem inneren Array ab. Dadurch wird für jedes innere Array effektiv das transponierte Array erstellt.

Das obige ist der detaillierte Inhalt vonWie kann ich ein 2D-Array in JavaScript mithilfe der Map-Methode 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