JavaScript'teki bir dizinin bir nesneden başka bir şey olmadığını biliyorum. Bunun gibi bir dizi tanımlarken : ["0", "1", "2"]
:Dizi davranışı nasıl kopyalanır?
var array;
array = [ "a", "b", "c" ];
ve şu dizi elde
Object.keys(array);
çalıştırın. array
dizisinin uzunluğu 3
'dur.
array["a"] = "d";
Object.keys()
["0", "1", "2", "a"]
dönüyor fakat array
dizi uzunluğunu hala 3
olduğunu. Böyle bir özellik eklerken
Ama:
array["3"] = "d";
array
uzunluğu artık 4
olduğunu.
array
yalnızca başka bir nesneyse, nesneyi var myArray = {}
gibi sıfırdan başlattığımda bu tür bir davranışı nasıl başarabilirim?
[Kangax'tan bu klasik blog gönderisini okuyun] (http://perfectionkills.com/how-ecmascript-5-still-does-not-allow-to-subclass-an-array/) - size istediğini yapamazsın. – Pointy
[Javascript dizi uzunluğu nesnelerin dizisi üzerinde yanlış] olası kopyası (http://stackoverflow.com/questions/2528680/javascript-array-length-incorrect-on-array-of-objects) – epascarello