Menentukan sama ada dua tatasusunan adalah sama boleh menjadi tugas biasa dalam pengaturcaraan. JavaScript menyediakan pelbagai kaedah untuk membandingkan tatasusunan, tetapi memahami kehalusannya adalah penting.
Menggunakan kesamaan (==) atau kesamaan ketat (===) pengendali mungkin tidak selalu menghasilkan tepat keputusan. Demonstrasi berikut menggambarkan isu ini:
var a = [1, 2, 3]; var b = [3, 2, 1]; var c = new Array(1, 2, 3); alert(a == b + "|" + b == c);
Kod ini akan mencetak "false|true", menunjukkan bahawa menggunakan == atau === sahaja tidak mencukupi untuk perbandingan kesamaan tatasusunan.
Untuk menentukan kesamaan tatasusunan dengan tepat, anda boleh mentakrifkan tersuai fungsi:
function arraysEqual(a, b) { if (a === b) return true; if (a == null || b == null) return false; if (a.length !== b.length) return false; // If you don't care about the order of the elements inside // the array, you should sort both arrays here. // Please note that calling sort on an array will modify that array. // you might want to clone your array first. for (var i = 0; i < a.length; ++i) { if (a[i] !== b[i]) return false; } return true; }
Fungsi ini menyemak tatasusunan nol, kesamaan panjang dan kesamaan elemen demi elemen. Ia merupakan kaedah yang teguh untuk menentukan kesamaan tatasusunan dalam pelbagai senario.
jQuery tidak menawarkan kaedah terbina dalam khusus untuk perbandingan kesamaan tatasusunan. Walau bagaimanapun, anda boleh memanfaatkan keupayaan manipulasi tatasusunan JavaScript dan kaedah traversal jQuery untuk melaksanakan penyelesaian anda sendiri.
Atas ialah kandungan terperinci Bagaimana untuk Memeriksa Kesamaan Array dalam JavaScript dengan Amanah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!