在JSON中计数键/值

可能重复:
Javascript关联数组的长度

我有一个如下所示的JSON:

Object:
   www.website1.com : "dogs"
   www.website2.com : "cats"
   >__proto__ : Object

这样打印时,我这样做:

console.log(obj);

我试图得到这个JSON内的项目的计数,obj.length返回“undefined”和obj [0] .length返回

Uncaught TypeError:无法读取未定义的属性“长度”

我希望在这种情况下返回“2”的长度。 我如何找到计数?

谢谢!


你必须自己数数:

function count(obj) {
   var count=0;
   for(var prop in obj) {
      if (obj.hasOwnProperty(prop)) {
         ++count;
      }
   }
   return count;
}

尽管现在我看到了关于该问题的第一条评论,但该页面上有一个更好的答案。 单线,或许速度如果不是更快,

function count(obj) { return Object.keys(obj).length; }

但请注意,对Object.keys()支持似乎还不是跨浏览器。


.length仅适用于数组,不适用于对象。

var count = 0;
for(var key in json)
    if(json.hasOwnProperty(key))
        count++;
链接地址: http://www.djcxy.com/p/27255.html

上一篇: Count Key/Values in JSON

下一篇: Object length in typescript?