2010-12-07 21 views
1
var arr = []; 
arr[50] = 'foo'; 
arr[10000] = 'boo'; 

Antwort

2

Kein Schaden. Stellen Sie nur sicher, dass Sie testen, ob der Wert definiert ist, bevor Sie ihn verwenden.

+0

... solange Sie beim Zugriff auf das Array mit NULL-Werten umgehen können – eckes

1

Nein. Die meisten JavaScript-Implementierungen weisen zwei Steckplätze zu (d. H. Das Array weist dieselbe Speichermenge auf wie wenn es nur zwei Elemente mit den Indizes 0 und 1 hätte).

2

Betrachten mit „Schlüssel/Wert-Array“ für so etwas Arbeit:

var arr = {}; 
arr[50] = 'foo'; 
arr[10000] = 'boo'; 

diese Having verlieren Sie die Möglichkeit, die Feldlänge (arr.length nicht definiert wird) zu erkennen und Sie können es iterieren anders verwenden Art von Schleife, aber wenn Sie keine dieser IMO brauchen, ist der bessere Weg.

4

Hängt von der Implementierung ab. Dieser:

arr=[] 
arr[1000]=1 
arr[1000000000]=2 
arr.sort() 

geben [1,2] auf Chrom (in keine Zeit mehr, um eine dichte Anordnung mit zwei Elementen Sortierung), sondern ein Fehler auf allocation size overflow Firefox.

Verwandte Themen