Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Mengisih Tatasusunan JavaScript Berdasarkan Susunan Tatasusunan Lain?

Bagaimana untuk Mengisih Tatasusunan JavaScript Berdasarkan Susunan Tatasusunan Lain?

Susan Sarandon
Lepaskan: 2024-12-14 07:26:09
asal
201 orang telah melayarinya

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

Mengisih Tatasusunan JavaScript Berdasarkan Tatasusunan Lain

Mengatur tatasusunan dalam susunan tertentu boleh menjadi tugas yang mencabar, terutamanya apabila anda tidak melakukannya mempunyai ID untuk bergantung. Pertimbangkan tatasusunan berikut:

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

sortingArr = ['b', 'c', 'b', 'b', 'a', 'd'];
Salin selepas log masuk

Matlamatnya adalah untuk menyusun semula itemArray agar sepadan dengan susunan yang dinyatakan dalam sortingArr. Menggunakan penyelesaian satu baris, anda boleh mencapai ini dengan:

itemsArray.sort(function(a, b) {
  return sortingArr.indexOf(a[1]) - sortingArr.indexOf(b[1]);
});
Salin selepas log masuk

Atau, untuk lebih ringkas:

itemsArray.sort((a, b) => sortingArr.indexOf(a[1]) - sortingArr.indexOf(b[1]));
Salin selepas log masuk

Kod ini menggunakan fungsi pengisihan tatasusunan untuk menyusun semula itemArray berdasarkan elemen pengisihanArr. Idea teras adalah untuk mengisih tatasusunan berdasarkan elemen kedua setiap tatasusunan dalam (cth., 'a', 'b', 'c', 'd'). Dengan berbuat demikian, item dalam itemsArray akan sejajar dengan keutamaan yang ditakrifkan dalam sortingArr.

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Tatasusunan JavaScript Berdasarkan Susunan Tatasusunan Lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan