2012-01-02 45 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