Hay,我有以下列表
var feedObjects = {
0:[
"url",
"image"
],
1:[
"url",
"image"
]
}
但是当我尝试使用feedObjects.length时,它总是返回null,任何想法?
答案 0 :(得分:8)
您有一个Object
({}
是文字Object
符号),不一个Array
,所以没有{{1属性。
您将需要使用length
进行迭代,但这不会保证属性的排序,与for ( in )
不同(尽管实际上它们通常按照定义的顺序排列)。
更好的是,将Array
与{ }
交换并使用真实[ ]
(与JavaScript的数组一样接近真实数组)。
答案 1 :(得分:3)
您已声明了关联数组,而不是索引数组。试试这个
var feedObjects = [
[
"url",
"image"
],
[
"url",
"image"
]
];
答案 2 :(得分:2)
您的对象没有长度属性或方法 -
你需要统计其成员。
var feedObjects={
["url","image"],["url","image"]
}
function count(){
var counter= 0;
for(var p in this){
if(this.hasOwnProperty(p))++counter;
}
return counter;
}
count.call(feedObjects)
返回值:(数字)= 2
或定义一个数组:
var feedObjects=[ ["url","image"],["url","image"]];
<强> // feedObjects.length = 2; 强>
答案 3 :(得分:0)
Object.size = function(obj) {
var size = 0, key;
for (key in obj) {
if (obj.hasOwnProperty(key)) size++;
}
return size;
};
alert(Object.size(feedObjects))