2011-01-15 19 views

cevap

20

(gibi Dizisi uzunluğu) onları saymak için: buraya

function objectLength(myObject:Object):int { 
var cnt:int=0; 

for (var s:String in myObject) cnt++; 

return cnt; 
} 

var o:Object={foo:"hello", bar:"world"}; 
trace(objectLength(o)); // output 2 
+1

Javascript'in Object.keys() – hrabinowitz

0

Hatta daha kısa kod:

var o:Object={foo:"hello",bar:"world",cnt:2}; 
trace(o.cnt); // output 2; 

Sadece çok son argüman güncelleştirmeyi unutmayın herhangi bir şey eklenmişse nesne listesi. Bu yaklaşımın ana dezavantajı sanırım. Ve şimdi, elbette, .cnt aslında gerçek liste uzunluğunu döndürmez, bunun yerine liste uzunluğu - 1'dir.

+0

gibi daha iyi bir API için çağrı yapar. zorlaşmak Bir mülkün zaten var olan bir mülkün üzerine yazdığı veya bir mülkün var olmadan silindiği durumlarda 'cnt' yanlış olabilir. Böylece nesnenin her değiştirilişinde çeklere ihtiyaç duyulur. –