Rumah > hujung hadapan web > tutorial js > Adakah Tatasusunan JavaScript Benar-Benar Padat, atau Adakah Ia Menunjukkan Gelagat Jarang?

Adakah Tatasusunan JavaScript Benar-Benar Padat, atau Adakah Ia Menunjukkan Gelagat Jarang?

Barbara Streisand
Lepaskan: 2024-11-13 10:32:02
asal
902 orang telah melayarinya

Are JavaScript Arrays Truly Dense, or Do They Exhibit Sparse Behavior?

Sifat Jarang Tatasusunan Javascript

Dalam Javascript, tatasusunan secara semula jadi jarang, bermakna ia tidak memperuntukkan memori secara automatik untuk semua elemen antara 0 dan indeks semasa. Sebaliknya, elemen hanya diperuntukkan apabila ia diakses atau diberikan.

Sebagai contoh, pertimbangkan kod berikut, di mana kami menetapkan elemen pada masa semasa sebagai indeks:

array[Date.getTime()] = value;
Salin selepas log masuk

Bertentangan kepada apa yang anda jangkakan, ini tidak menyebabkan jurubahasa memperuntukkan semua elemen dari 0 hingga saat semasa. Sebaliknya, ia hanya memperuntukkan elemen khusus yang diakses.

Pelaksanaan Jadual Cincang

Tatasusunan Javascript dilaksanakan secara dalaman sebagai jadual cincang. Ini bermakna kunci (indeks) bukan sahaja boleh menjadi integer tetapi juga rentetan, apungan atau objek. Setelah dimasukkan ke dalam jadual cincang, semua kunci ditukar kepada rentetan menggunakan kaedah toString().

Kod Pengesahan

Anda boleh mengesahkan sifat jarang ini dengan ujian berikut kod:

var array = [];
array[0] = "zero";
array[new Date().getTime()] = "now";
array[3.14] = "pi";

for (var i in array) {
  console.log("array[" + i + "] = " + array[i] + ", typeof(" + i + ") == " + typeof(i));
}
Salin selepas log masuk

Kod ini berulang ke atas indeks dan output yang ditakrifkan sebenar:

array[0] = zero, typeof(0) == string
array[1254503972355] = now, typeof(1254503972355) == string
array[3.14] = pi, typeof(3.14) == string
Salin selepas log masuk

yang menunjukkan bahawa indeks bukan integer juga berfungsi tanpa memperuntukkan elemen perantaraan. Walau bagaimanapun, ambil perhatian bahawa menggunakan gelung for tradisional dengan i antara 0 hingga array.length boleh membawa kepada isu dengan indeks tatasusunan bukan standard.

Atas ialah kandungan terperinci Adakah Tatasusunan JavaScript Benar-Benar Padat, atau Adakah Ia Menunjukkan Gelagat Jarang?. 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