我正在进行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]
的数组?任何帮助或教程链接将不胜感激。
答案 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++;
}