Menggunakan JavaScript Array.sort() untuk Kocok
Dalam JavaScript, menggunakan kaedah Array.sort() dengan fungsi perbandingan tersuai untuk merombak tatasusunan ialah pendekatan yang berbelit-belit dan berkemungkinan tidak boleh dipercayai.
Mengapa Array.sort() adalah Tidak Optimum untuk Kocok
Shuffling Alternatif Kaedah: Fisher-Yates
Algoritma shuffle Fisher-Yates ialah cara yang cekap dan boleh dipercayai untuk menyusun semula tatasusunan dalam susunan rawak. Begini cara ia berfungsi:
function shuffle(array) { var tmp, current, top = array.length; if(top) while(--top) { current = Math.floor(Math.random() * (top + 1)); tmp = array[current]; array[current] = array[top]; array[top] = tmp; } return array; }
Mengapa Fisher-Yates Diutamakan
Mengukur Kocok Rawak
Untuk menilai rawak algoritma shuffling anda, anda boleh mengira statistik seperti:
Berdasarkan metrik ini, Fisher-Yates cenderung untuk menghasilkan lebih banyak kocok teragih dan rawak daripada Array.sort().
Atas ialah kandungan terperinci Mengapa Fisher-Yates Lebih Baik daripada Array.sort() untuk Kocok dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!