【问题标题】:how to get size or count the number of properties of an object? [duplicate]如何获取大小或计算对象的属性数量? [复制]
【发布时间】:2013-07-31 13:08:56
【问题描述】:

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

假设我有一个对象 obj,

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

那么在这种情况下,有什么方法可以得到 3 的结果吗?

【问题讨论】:

标签: javascript jquery


【解决方案1】:

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

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

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

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

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

【讨论】:

    【解决方案2】:

    你可以在modern browsers中使用Object.keys()

    Object.keys(obj).length
    

    【讨论】:

      【解决方案3】:

      你可以使用

      Object.keys(obj).length;
      

      附:仅在现代浏览器中。

      【讨论】:

      • 只是问..这与@Arun P Johny 的答案有何不同..
      • 在看到答案之前可能已经发布了。显示帖子之间仅相差 3 分钟。
      猜你喜欢
      • 2010-11-23
      • 1970-01-01
      • 2012-01-03
      • 1970-01-01
      • 1970-01-01
      • 2010-10-10
      • 2018-06-08
      • 2020-08-19
      • 2011-01-17
      相关资源
      最近更新 更多