嵌套数组的访问长度

时间:2019-01-19 11:13:27

标签: javascript arrays

有一个包含对象的数组,该对象包含更多数组。如何使用.length访问嵌套数组的长度?

const array = [ { var: [ 'asd', 'a3', 'a4' ], 
                  bar: [ 'asd', 'c3', 'c4' ] } ];

使用array[0].var.length;时 例如,如果var []仅包含1个属性,则它将开始测量该属性的字符串长度。我后面的数字是属性的数量,而不是字符串长度。如果插入的属性超过1个,则它会按应有的方式测量属性的数量。

1 个答案:

答案 0 :(得分:1)

如果object中只有一个array,则可以使用for in循环遍历object的属性并获取与每个键关联的数组

const array = [
                { 
                   var: [ 'asd', 'a3', 'a4' ], 
                   bar: [ 'asd', 'c3', 'c4' ]
                } 
              ];


for(let key in array[0]) {
  console.log(array[0][key].length);
}
 

如果array中有多个对象,而这些对象中又具有可变数量的数组,则可以结合使用for offor in循环来获取所有嵌套对象中所有数组的长度。

const array = [
                { 
                  var: [ 'asd', 'a3', 'a4' ], 
                  bar: [ 'asd', 'c3', 'c4' ]
                } 
              ];

for(let arrayItem of array) {
  for(let key in arrayItem) {
    console.log(arrayItem[key].length);
  }
}