Mengapa Sifat Dinamakan dalam Tatasusunan JavaScript Tidak Mempengaruhi Panjangnya?

Barbara Streisand
Lepaskan: 2024-11-26 07:44:10
asal
699 orang telah melayarinya

Why Do Named Properties in JavaScript Arrays Not Affect Their Length?

Mengapa Sifat Dinamakan dalam Tatasusunan Berkelakuan Seperti Objek

JavaScript membenarkan fleksibiliti dalam menetapkan sifat kepada pelbagai struktur data, termasuk tatasusunan. Walaupun tatasusunan secara tradisinya memegang elemen yang diindeks secara berangka, anda boleh menambahkan sifat yang dinamakan padanya juga, menjadikannya menyerupai objek.

Dalam contoh yang diberikan, kedua-dua coretan kod memberikan nilai kepada sifat yang dinamakan dalam tatasusunan:

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

var myObject = {'A': 'Athens', 'B':'Berlin'};
Salin selepas log masuk

Walaupun kedua-dua kaedah kelihatan setara dan menghasilkan objek dengan jenis yang sama, terdapat asas perbezaan.

Sifat Tatasusunan lwn. Sifat Objek

Tatasusunan direka untuk data yang diindeks secara berangka dan menambah kekunci bukan angka mengganggu kefungsian yang dimaksudkan. Walaupun nampaknya sifat yang dinamakan ditambah dengan lancar, ia sebenarnya wujud sebagai sifat pada objek tatasusunan, bukan sebagai elemen dalam tatasusunan.

Kesan pada Panjang Tatasusunan

Percanggahan ini jelas apabila menyemak sifat panjang tatasusunan, yang mengembalikan bilangan elemen dalam tatasusunan. Apabila menambah sifat bernama pada tatasusunan, ia tidak mengubah panjang tatasusunan. Sebagai contoh, dalam kod berikut:

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

alert(myArray.length);
Salin selepas log masuk

Isyarat akan memaparkan '0' kerana tiada unsur telah ditambahkan pada tatasusunan, hanya sifat pada objek tatasusunan. Tingkah laku ini berbeza daripada objek, di mana penambahan kekunci bukan angka tidak menjejaskan sifat panjang.

Oleh itu, walaupun mungkin mudah untuk menambah sifat yang dinamakan pada tatasusunan, adalah penting untuk memahami had dan perbezaan potensi daripada tradisional tingkah laku objek. Untuk data bukan angka yang diindeks, objek hendaklah digunakan sebaliknya untuk memastikan kefungsian yang betul dan mengelakkan hasil yang tidak dijangka.

Atas ialah kandungan terperinci Mengapa Sifat Dinamakan dalam Tatasusunan JavaScript Tidak Mempengaruhi Panjangnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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 terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan