Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Isih Satu Tatasusunan Berdasarkan Susunan Tatasusunan Lain dalam JavaScript?

Bagaimanakah Saya Boleh Isih Satu Tatasusunan Berdasarkan Susunan Tatasusunan Lain dalam JavaScript?

Patricia Arquette
Lepaskan: 2024-12-23 01:18:11
asal
456 orang telah melayarinya

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

Menyusun Semula Tatasusunan Berdasarkan Nilai Bantu

Dalam JavaScript, mungkin terdapat senario di mana anda perlu mengisih satu tatasusunan berdasarkan susunan yang ditentukan oleh tatasusunan lain. Ini amat berguna apabila bekerja dengan struktur data di mana susunan elemen adalah penting.

Pertimbangkan contoh 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

Dalam kes ini, matlamatnya adalah untuk menyusun semula itemArray kepada sepadan dengan susunan sortingArr. Malangnya, tiada ID untuk menjejaki elemen, jadi keutamaan adalah untuk memadankan susunan sedekat mungkin.

Penyelesaian:

Untuk mencapai ini, anda boleh memanfaatkan kaedah sort() terbina dalam JavaScript bersama-sama dengan fungsi perbandingan tersuai. Fungsi perbandingan membandingkan dua elemen daripada itemsArray berdasarkan nilai sepadannya dalam sortingArr.

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

Ungkapan ini pada asasnya mengisih itemsArray berdasarkan indeks yang sepadan dengan elemennya dalam sortingArr. Akibatnya, tatasusunan yang disusun semula akan menyerupai yang berikut:

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

Penyelesaian ini mengutamakan susunan yang ditentukan oleh sortingArr dan mengeluarkan itemsArray dalam susunan yang dikehendaki.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Isih Satu Tatasusunan Berdasarkan Susunan Tatasusunan Lain dalam JavaScript?. 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