Heim  >  Artikel  >  Web-Frontend  >  Wie können Sie in JavaScript ein zweidimensionales Array nach Spaltenwert sortieren?

Wie können Sie in JavaScript ein zweidimensionales Array nach Spaltenwert sortieren?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-17 04:22:03114Durchsuche

How Can You Sort a Two-Dimensional Array by Column Value in JavaScript?

Sortieren zweidimensionaler Arrays nach Spaltenwerten in JavaScript

In diesem Artikel erfahren Sie, wie Sie ein zweidimensionales Array sortieren JavaScript nach einem bestimmten Spaltenwert.

Problem Anweisung

Gegeben ein zweidimensionales Array, das als Array von Arrays dargestellt wird, wobei jedes Unterarray zwei Elemente enthält, besteht die Aufgabe darin, das Array basierend auf den Werten in der ersten Spalte in aufsteigender Reihenfolge zu sortieren ( Spalte mit Index 0).

Lösung

JavaScript bietet eine praktische Methode, sort(), die verwendet werden kann um mehrdimensionale Arrays zu sortieren. Lassen Sie uns den bereitgestellten Code aufschlüsseln:

var a = [[12, 'AAA'], [58, 'BBB'], [28, 'CCC'],[18, 'DDD']];

a.sort(sortFunction);

function sortFunction(a, b) {
    if (a[0] === b[0]) {
        return 0;
    }
    else {
        return (a[0] < b[0]) ? -1 : 1;
    }
}

Erklärung

  • Die Methode sort() wird für das Array a aufgerufen.
  • Die sortFunction wird als Argument an die Methode sort() übergeben. Diese Funktion vergleicht die ersten Elemente zweier Unterarrays (a[0] und b[0]) und gibt Folgendes zurück:

    • 0, wenn sie gleich sind.
    • -1, wenn a[ 0] ist kleiner als b[0].
    • 1, wenn a[0] größer ist als b[0].

Standardmäßig verwendet sort() die zurückgegebenen Werte, um die Reihenfolge der Unterarrays zu bestimmen und sie in aufsteigender Reihenfolge zu sortieren.

Sortieren nach zweiter Spalte

Um nach der zweiten Spalte zu sortieren, kann die Sortierfunktion so geändert werden, dass sie die zweite Spalte vergleicht Werte:

a.sort(compareSecondColumn);

function compareSecondColumn(a, b) {
    if (a[1] === b[1]) {
        return 0;
    }
    else {
        return (a[1] < b[1]) ? -1 : 1;
    }
}

Dies ermöglicht eine flexible Sortierung nach verschiedenen Spalten basierend auf den spezifischen Anforderungen.

Das obige ist der detaillierte Inhalt vonWie können Sie in JavaScript ein zweidimensionales Array nach Spaltenwert sortieren?. 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