Rumah > Soal Jawab > teks badan
Ini berfungsi apabila elemen tatasusunan ialah nombor atau rentetan, tetapi bukan apabila ia adalah objek
PHP中文网2017-05-19 10:25:32
Objek dalam js ialah nilai jenis rujukan, dan perbandingan dua objek ialah perbandingan alamat memori yang dirujuk. Seperti kod berikut:
var obj1={};
var obj2={};
obj1===obj2 //false
Walaupun kedua-dua objek ini kelihatan sama, ia merujuk kepada objek berbeza dalam ingatan timbunan, jadi ia tidak sama.
PelaksanaaninArray sepatutnya merentasi tatasusunan, bandingkan setiap item tatasusunan dengan nilai sasaran, jika sama, kembalikan nilai indeks, jika tidak sama, kembalikan -1 Disebabkan oleh sebab di atas, nilai rujukan daripada dua objek yang diisytiharkan secara berasingan adalah tidak sama, jadi -1 dikembalikan.
阿神2017-05-19 10:25:32
Secara amnya difahami dengan cara ini, tatasusunan ialah objek, tetapi objek itu tidak semestinya tatasusunan. inArray berfungsi pada tatasusunan
習慣沉默2017-05-19 10:25:32
Dalam kod sumber, isArray: Array.isArray digunakan Ia juga boleh mengandungi objek di dalam, tetapi lapisan luar mestilah [].
var obj = [{a:1}];
console.log(Array.isArray(obj)) // true