Problem:
Wie kann ich ein 2D-Array in JavaScript basierend auf dem sortieren? Werte in einer bestimmten Spalte?
Code-Snippet:
Zum Sortieren Um ein 2D-Array in der ersten Spalte zu erstellen, verwenden Sie den folgenden Code:
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() sortiert ein Array an Ort und Stelle. In diesem Fall übergeben wir eine sortFunction, die die ersten Elemente der beiden Arrays a und b vergleicht und -1 zurückgibt, wenn a vor b kommen sollte, 1, wenn b vor a kommen sollte, oder 0, wenn sie gleich sind.
Sortieren nach der zweiten Spalte:
Um nach der zweiten Spalte zu sortieren, ersetzen Sie die sortFunction durch die Folgendes:
function compareSecondColumn(a, b) { if (a[1] === b[1]) { return 0; } else { return (a[1] < b[1]) ? -1 : 1; } }
Ausgabe:
Das sortierte Array sieht folgendermaßen aus:
[ [12, 'AAA'], [18, 'DDD'], [28, 'CCC'], [58, 'BBB'] ]
Das obige ist der detaillierte Inhalt vonWie sortiere ich ein 2D-Array in JavaScript nach Spaltenwert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!