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

Wie sortiere ich ein JavaScript-Array basierend auf der Reihenfolge eines anderen Arrays?

Susan Sarandon
Freigeben: 2024-12-14 07:26:09
Original
201 Leute haben es durchsucht

How to Sort a JavaScript Array Based on Another Array's Order?

Sortieren eines JavaScript-Arrays basierend auf einem anderen Array

Arrays in einer bestimmten Reihenfolge anzuordnen kann eine herausfordernde Aufgabe sein, insbesondere wenn Sie dies nicht tun Sie haben Ausweise, auf die Sie sich verlassen können. Betrachten Sie die folgenden Arrays:

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

sortingArr = ['b', 'c', 'b', 'b', 'a', 'd'];
Nach dem Login kopieren

Das Ziel besteht darin, itemsArray so neu anzuordnen, dass es der in sortingArr angegebenen Reihenfolge entspricht. Mit einer einzeiligen Lösung können Sie dies erreichen mit:

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

Oder, der Kürze halber:

itemsArray.sort((a, b) => sortingArr.indexOf(a[1]) - sortingArr.indexOf(b[1]));
Nach dem Login kopieren

Dieser Code nutzt Array-Sortierfunktionen, um ElementeArray basierend auf dem neu anzuordnen Elemente der SortierungArr. Die Kernidee besteht darin, das Array basierend auf dem zweiten Element jedes inneren Arrays zu sortieren (z. B. „a“, „b“, „c“, „d“). Dadurch werden die Elemente in itemsArray an den in sortingArr.

definierten Prioritäten ausgerichtet

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