2012-01-02 188 views

回答

48

Object.keys將返回對象中的所有鍵作爲列表,然後使用長度來獲取長度。

例如:

Object.keys(hash_table).length 

注意,這是ECMA 5和一些瀏覽器可能無法使用。有關完整文檔,請參閱https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/keys

+0

它會返回也繼承屬性? – rsk82 2012-01-02 14:57:23

+0

不,它將只返回自己的屬性。 – qiao 2012-01-02 14:59:52

+0

據我瞭解,Object.keys不支持IE8和更低的,所以要小心... – 2012-08-09 17:38:04

2
var count = 0; 
for (property in hash_table) count++; 
+0

JSON一貫支持是一種數據交換格式和無關的JavaScript,除了名稱和類似的語法。 JavaScript沒有「關聯數組」,只有數組。 – 2012-01-02 15:14:12

+0

感謝您的feedbacK:我已經編輯了我的答案! – simonecampora 2012-01-02 15:18:06

+0

不過,「使用數組以聯想方式」是什麼意思? 「長度」屬性僅針對數字屬性進行更新, 'arr [0] = 42.'。非數值屬性不更新'長度',不應該用於數組,因爲它只是令人困惑。 – 2012-01-02 16:04:10