Heim > Web-Frontend > js-Tutorial > Wie kann ich ein Array basierend auf der Reihenfolge eines anderen Arrays in JavaScript sortieren?

Wie kann ich ein Array basierend auf der Reihenfolge eines anderen Arrays in JavaScript sortieren?

Patricia Arquette
Freigeben: 2024-12-23 01:18:11
Original
451 Leute haben es durchsucht

How Can I Sort One Array Based on the Order of Another Array in JavaScript?

Arrays basierend auf Hilfswerten neu anordnen

In JavaScript kann es Szenarien geben, in denen Sie ein Array basierend auf der von angegebenen Reihenfolge sortieren müssen ein weiteres Array. Dies kann besonders nützlich sein, wenn Sie mit Datenstrukturen arbeiten, bei denen die Reihenfolge der Elemente entscheidend ist.

Betrachten Sie das folgende Beispiel:

itemsArray = [
    ['Anne', 'a'],
    ['Bob', 'b'],
    ['Henry', 'b'],
    ['Andrew', 'd'],
    ['Jason', 'c'],
    ['Thomas', 'b']
];
sortingArr = [ 'b', 'c', 'b', 'b', 'a', 'd' ];
Nach dem Login kopieren

In diesem Fall besteht das Ziel darin, das itemsArray neu anzuordnen Passen Sie die Reihenfolge des sortingArr an. Leider gibt es keine IDs, um die Elemente zu verfolgen, daher besteht die Priorität darin, die Reihenfolge so genau wie möglich abzugleichen.

Lösung:

Um dies zu erreichen, können Sie Nutzen Sie die integrierte sort()-Methode von JavaScript in Verbindung mit einer benutzerdefinierten Vergleichsfunktion. Die Vergleichsfunktion vergleicht zwei Elemente aus dem itemsArray basierend auf ihren entsprechenden Werten im sortingArr.

itemsArray.sort(function(a, b){  
  return sortingArr.indexOf(a) - sortingArr.indexOf(b);
});
Nach dem Login kopieren

Dieser Ausdruck sortiert das itemsArray im Wesentlichen basierend auf den entsprechenden Indizes seiner Elemente im sortingArr. Infolgedessen sieht das neu angeordnete Array wie folgt aus:

itemsArray = [
    ['Bob', 'b'],
    ['Jason', 'c'],
    ['Henry', 'b'],
    ['Thomas', 'b']
    ['Anne', 'a'],
    ['Andrew', 'd'],
];
Nach dem Login kopieren

Diese Lösung priorisiert die durch sortingArr angegebene Reihenfolge und gibt das itemsArray in der gewünschten Anordnung aus.

Das obige ist der detaillierte Inhalt vonWie kann ich ein Array basierend auf der Reihenfolge eines anderen Arrays in JavaScript sortieren?. 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