Rumah  >  Soal Jawab  >  teks badan

javascript - Adakah kaedah inArray Jquery tidak menyokong objek penilaian?

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

漂亮男人漂亮男人2711 hari yang lalu895

membalas semua(3)saya akan balas

  • PHP中文网

    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.

    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.

    balas
    0
  • 阿神

    阿神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

    balas
    0
  • 習慣沉默

    習慣沉默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

    balas
    0
  • Batalbalas