如何获取大小或计算对象属性的数量?

sch*_*ill 0 javascript jquery

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

假设我有一个对象obj,

obj={id:'0A12',name:'nishant',phone:'mobile'};
Run Code Online (Sandbox Code Playgroud)

那么在这种情况下是否有任何方法可以得到3?

T.J*_*der 6

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

var count = Object.keys(obj).length;
Run Code Online (Sandbox Code Playgroud)

请注意,可能涉及(内部Object.keys)循环,但至少它在JavaScript引擎中.Object.keys由ES5添加,所以旧的浏览器可能没有它(它可以"填充",但是为选项搜索"es5 shim").

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

我不相信有任何方法可以获得对象的非可枚举属性的列表(这将是他们的意思!).