2016-03-29 13 views
3

Bir sorunla uğraşıyordum ve kolay arama için dizi örneklemleri olarak varlık örneklerine Ids kullanabileceğimi düşündüğüm noktaya geldim.Javascript dizisi alllocation

var myArray = []; 
myArray[obj.Id] = true; 

obj.Id burada 1000 varsayalım, bu nedenle myArray.length olacaktır. Burada tek bir boolean değeri için 1000 bayt ayırıyor muyum yoksa maksimum dizini uzunluk olarak mı döndürüyor?

+2

gibi bir anahtar-değer nesnesi; myArray [obj.Id] = true; ' –

+2

," length_ length olarak en büyük endeksin yeniden düzenlenmesi "dir, ancak seyrek diziler yavaşlar. [] .map()' ve '(i = 0; i dandavis

cevap

2

Çok fazla bayt ayırmayacak.

Ama ne gerçekten aradığınız bir anahtar değeri tarzı nesne, `var myArray = {} kullanmayın Neden

var myObj = {}; 
myObj[obj.Id] = true; 
//then to access 
console.log(myObj[obj.Id]) 
+0

Teşekkürler. Evet, nesne yaklaşımını en sonunda kullandım. Dizi alanı tahsisinin endekse dayalı olup olmadığını bilmek istemiştim. – Vahid

+0

Ve diziden ziyade nesneler kullanmanın neden daha iyi bir yaklaşım olduğunu açıklar mısınız? – Vahid

İlgili konular