有一个包含对象的数组,该对象包含更多数组。如何使用.length访问嵌套数组的长度?
const array = [ { var: [ 'asd', 'a3', 'a4' ],
bar: [ 'asd', 'c3', 'c4' ] } ];
使用array[0].var.length;
时
例如,如果var []仅包含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 of
和for 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);
}
}