计算JavaScript对象的属性

时间:2013-10-01 21:04:46

标签: jquery

我的问题简洁明了。

我需要计算Json对象的属性,例如

 obj={
      name:'Jhon',
      age:25
 }

这必须返回2,一个用于'name',而ohter用于'age'。 我试着用。

 obj.count();
 obj.length();

但没有......

我在互联网上找到的所有解决方案都是数组的计数元素。

感谢所有人!

3 个答案:

答案 0 :(得分:11)

尝试 Object.keys ,Javascript对象上没有内置的length属性或方法。

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

请注意,您需要在源代码中添加一个Shim,以便为某些旧版浏览器添加支持(例如:IE< 9)。阅读MDN的文档链接

答案 1 :(得分:3)

试试这样:

Object.keys(obj).length

答案 2 :(得分:2)

只是要添加到Object.keys(obj).length解决方案,这里是一个不支持Object.keys的浏览器的填充。

Object.keys = Object.keys || function(o,k,r){
    r=[];
    for(k in o){
        r.hasOwnProperty.call(o,k) && r.push(k);
    }
    return r;
}