如何从带有大括号的数组中获取长度

时间:2014-02-24 17:12:38

标签: javascript jquery arrays

我正在进行ajax调用,我得到的响应是这样的:

   Object {
        Monday noon: Array[4], 
        Tuesday morning: Array[2], 
        Friday noon: Array[3], 
        Sunday: Array[1]
    }

我想做点什么:

    response.length

但我得到的是undefined

任何想法如何才能获得Object数组的长度?

另一个问题是: 我怎么能到Monday noon: Array[4]的数组?任何帮助或教程链接将不胜感激。

3 个答案:

答案 0 :(得分:7)

如果您想要使用对象中的键数:

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

如果您需要Object.keys polyfill:

if (!('keys' in Object.prototype)) {
  Object.keys = function (obj) {
    var arr = [], prop;
    if (util.toType(obj) === 'object') {
      for (prop in obj) {
        if (obj.hasOwnProperty(prop)) {
          arr.push(prop);
        }
      }
    }
    return arr;
  };
}

答案 1 :(得分:3)

对象没有length属性。你可以loop through the properties并增加一个计数器:

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

答案 2 :(得分:0)

var len = 0;
for(var prop in response){
    if(response.hasOwnProperty(prop))
        len++;
}