0

有什么方法可以计算对象的属性(或大小)数量(不想使用任何循环)?

假设我有一个对象 obj,

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

那么在这种情况下有什么方法可以产生 3 吗?

4

3 回答 3

6

Object.keys返回一个包含对象自身可枚举属性 名称的数组,因此:

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

请注意,很可能涉及到一个循环(在 内Object.keys),但至少它在 JavaScript 引擎内。Object.keys由 ES5 添加,因此较旧的浏览器可能没有它(不过,它可以“填充”;搜索“es5 shim”以获取选项)。

for-in请注意,这与迭代的属性列表并不完全相同,因为for-in包括从原型继承的属性。

我不相信有任何方法可以获取对象的不可枚举属性的列表(这就是它们的重点!)。

于 2013-07-31T06:26:17.353 回答
2

您可以在现代浏览器中使用Object.keys()

Object.keys(obj).length
于 2013-07-31T06:27:15.177 回答
-1

您可以使用

Object.keys(obj).length;

PS 仅在现代浏览器中。

于 2013-07-31T06:30:54.857 回答