Rumah >hujung hadapan web >tutorial js >Bagaimanakah Tugasan Harta Mempengaruhi Panjang Tatasusunan JavaScript?

Bagaimanakah Tugasan Harta Mempengaruhi Panjang Tatasusunan JavaScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-02 03:40:13865semak imbas

How Do Property Assignments Affect JavaScript Array Length?

Anomali Tatasusunan: Sifat lwn. Elemen

Dalam JavaScript, kepelbagaian objek meluas kepada tatasusunan juga. Fenomena ingin tahu ini timbul daripada fakta bahawa tatasusunan mewarisi daripada prototaip Objek. Akibatnya, tatasusunan boleh dimanipulasi seolah-olah ia adalah objek.

Penugasan Harta dalam Tatasusunan

Pertimbangkan coretan kod berikut:

var myArray = Array();
myArray['A'] = "Athens";
myArray['B'] = "Berlin";

dan

var myObject = {'A': 'Athens', 'B':'Berlin'};

Coretan kod ini muncul setara kerana kedua-duanya mencipta objek dengan sifat yang dinamakan. Walau bagaimanapun, terdapat perbezaan asas antara mereka.

Perangkap Penyalahgunaan Harta

Walaupun tatasusunan boleh dianggap sebagai objek, adalah penting untuk ambil perhatian bahawa tatasusunan bertujuan terutamanya untuk data yang diindeks secara berangka. Menetapkan kunci bukan angka kepada tatasusunan boleh membawa kepada tingkah laku yang tidak dijangka.

Sebagai contoh, pertimbangkan perkara berikut:

var myArray = Array();
myArray['A'] = "Athens";
myArray['B'] = "Berlin";

alert(myArray.length);

Daripada memaparkan '2' (bilangan unsur yang dijangkakan), amaran memaparkan '0'. Ini kerana kekunci bukan angka ('A' dan 'B') tidak menambah sifat panjang tatasusunan, yang menjejaki bilangan elemen yang diindeks secara berangka.

Kesimpulannya, walaupun nampaknya mudah untuk ditambah menamakan sifat kepada tatasusunan, amalan ini harus dielakkan kerana ia menjejaskan tujuan tatasusunan dan boleh membawa kepada tingkah laku yang tidak dijangka. Untuk kekunci bukan angka, disyorkan untuk menggunakan objek tulen.

Atas ialah kandungan terperinci Bagaimanakah Tugasan Harta Mempengaruhi Panjang Tatasusunan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Pengganda Flappy BirdArtikel seterusnya:Pengganda Flappy Bird