2013-07-31 60 views
0

有什麼方法計算性能(或大小)的對象的數量(不希望使用任何循環)?如何獲取大小或統計對象的屬性數量?

假設我有一個對象OBJ中,

obj={id:'0A12',name:'nishant',phone:'mobile'}; 

然後是存在在這種情況下結果3的任何方法?

+0

http://jsfiddle.net/5uFgu/ –

回答

6

Object.keys返回一個包含該對象的自己枚舉的屬性的名稱的數組,所以:

var count = Object.keys(obj).length; 

注意,有可能是涉及(內Object.keys)的環,但至少它的JavaScript的內發動機。由ES5添加了Object.keys,所以舊版瀏覽器可能沒有(它可以是「微調」,雖然;搜索「es5墊」的選項)。

請注意,這與for-in迭代的屬性列表不完全相同,因爲for-in包含從原型繼承的屬性。

我不相信有什麼辦法讓對象的不可枚舉屬性的列表(這將是他們的點!)。

-1

使用Object.keys()您可以使用

Object.keys(obj).length; 

附:只有在現代瀏覽器中。

+1

只是問.. ..這是不同於@阿倫P Johny答案.. –

+1

可能已經張貼之前看到答案。只顯示3分鐘的帖子之間的差異。 – noboundaries