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'];
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]); });
Atau, untuk lebih ringkas:
itemsArray.sort((a, b) => sortingArr.indexOf(a[1]) - sortingArr.indexOf(b[1]));
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!