javascript - Adakah kaedah inArray Jquery tidak menyokong objek penilaian?
漂亮男人
漂亮男人 2017-05-19 10:23:32
0
3
893

Ini berfungsi apabila elemen tatasusunan ialah nombor atau rentetan, tetapi bukan apabila ia adalah objek

漂亮男人
漂亮男人

membalas semua(3)
Ty80

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.

Pelaksanaan

inArray 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.

阿神

Secara amnya difahami dengan cara ini, tatasusunan ialah objek, tetapi objek itu tidak semestinya tatasusunan. inArray berfungsi pada tatasusunan

習慣沉默

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
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!