这是我的数组
var linkArray = {
boothsizeDiv_link: false,
furnishingsprovidedDiv_link: false,
electricalDiv_link: false,
rentalfurnishingsDiv_link: false,
gesgraphicsDiv_link: false,
geslaborDiv_link: false,
contractorDiv_link: false,
carpetingDiv_link: false,
boothlightingDiv_link: false,
javitsDiv_link: false,
boothsealDiv_link: false,
mannequinsDiv_link: false,
calcDiv_link: false
};
如何找出这个数组长度?我用Google搜索但没有用..
答案 0 :(得分:4)
像这样:
Object.keys(linkArray).length
答案 1 :(得分:1)
试试这个:
var i, length = 0;
for(i in linkArray) {
if(linkArray.hasOwnProperty(i)) {
length++;
}
}
// Here you can use length
答案 2 :(得分:0)
解决方案是
Object.getOwnPropertyNames(linkArray).length
但要小心,因为这是 NOT 一个数组,这是一个对象。
请注意,它不适用于9以下的Internet Explorers。
在此MDN Article中,您可以看到如何使用getOwnPropertyNames
。
如果您也想在浏览器中使用它而不支持它,您只需在脚本中插入以下代码段:
Object.getOwnPropertyNames = Object.getOwnPropertyNames || function(obj) {
var ownProperties = [];
var current = '';
for(current in obj) {
if(linkArray.hasOwnProperty(current)) {
ownProperties.push(current);
}
}
return ownProperties;
}
(我刚刚写了它,目前无法测试它,但它应该可以工作)
使用此代码段,您可以在本机没有它的浏览器中模拟Object.getOwnPropertyNames
。
显然,您可以使用getOwnPropertyNames
keys