如何使用javascript或jquery获取此类数组的长度?
var Accounts = {
'Account001' : { 'data1' : 'foo1', 'data2' : 'bar1' },
'Account002' : { 'data1' : 'foo2', 'data2' : 'bar2' },
'Account003' : { 'data1' : 'foo3', 'data2' : 'bar3' },
'Account004' : { 'data1' : 'foo4', 'data2' : 'bar4' }
};
我尝试过Accounts.length但它似乎返回NAN。
答案 0 :(得分:5)
Object.keys(Accounts).length
你正试图获得"长度"一个对象,它不存在。如果这是一个数组,它将被括在一个括号[]。
中这绝对是一个对象,所以为了计算对象内的属性,你必须使用Object.keys()来包含数组中的属性名,然后从那里计算元素。
答案 1 :(得分:1)
您可以使用for循环迭代对象中的所有元素,并使用count来获取数字:
var Accounts = {
'Account001' : { 'data1' : 'foo1', 'data2' : 'bar1' },
'Account002' : { 'data1' : 'foo2', 'data2' : 'bar2' },
'Account003' : { 'data1' : 'foo3', 'data2' : 'bar3' },
'Account004' : { 'data1' : 'foo4', 'data2' : 'bar4' }
};
var count = 0;
for(var k in Accounts) {
if(Accounts.hasOwnProperty(k)) {
count++;
}
}
console.log(count);