Javascript - 从多维数组

时间:2017-03-15 08:19:17

标签: javascript jquery arrays

如何使用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。

2 个答案:

答案 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);