Autor | Zpráva | ||
---|---|---|---|
Chodec Profil |
#1 · Zasláno: 4. 12. 2008, 11:54:12
Dá se nějak zjistit skutečný počet položek v poli. V těchto příkladech mám vždy definováno nové pole. Potom do něj uložím 3 položky. Ale při výpisu počtu položek mě to pokud je tam aspoň 1 číselný index vyhodí vždy max index +1 a když tam mám jen řetězcové indexy tam je to vždy 0.
var pole = new Array (); pole[0] = 0; pole[1] = 1; pole[2] = 2; document.write (pole.length); vypíše 3 var pole = new Array (); pole[0] = 0; pole[1] = 1; pole[10] = 10; document.write (pole.length); vypíše 11 var pole = new Array (); pole["a"] = 0; pole["b"] = 1; pole["c"] = 2; document.write (pole.length); vypíše 0 |
||
Měsíček Profil |
#2 · Zasláno: 4. 12. 2008, 14:36:59 · Upravil/a: Měsíček
Reaguji na Chodce:
Cituji: "In the above example, associativeArray.length will be zero because we didn't actually put anything into the Array, we put it into associativeArray's object. "associativeArray[0]" will be undefined. " viz zdroj (Tato citace se váže k jednomu příkladu velice podobnému jako jsi napsal ty, .. (je asi v první čtvrtině celé stránky)). http://www.hunlock.com/blogs/Mastering_Javascript_Arrays |
||
Chamurappi Profil |
#3 · Zasláno: 4. 12. 2008, 18:14:49
Reaguji na Chodce:
Viz má reakce vedle, asociativní pole v JavaScriptu neexistuje. K jakémukoliv objektu (včetně instancí Array) můžeš beztrestně přidat jakoukoliv vlastnost. Zápisy „pole["a"]“ a „pole.a“ jsou ekvivalentní. Vlastnost length u třídy Array kouká jen na své číselné indexy. |
||
Časová prodleva: 15 let
|
0