3 回答

TA贡献1936条经验 获得超7个赞
获取一个平面数组并迭代输出。
let array = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [[10, 11, 12], 13, 14], [[15, 16, 16], [17, 18, [19, 20]]]];
array
.flat(Infinity)
.forEach(v => console.log(v));
带有递归回调的更经典的方法。
const show = v => {
if (Array.isArray(v)) v.forEach(show);
else console.log(v);
};
let array = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [[10, 11, 12], 13, 14], [[15, 16, 16], [17, 18, [19, 20]]]];
array.forEach(show);

TA贡献2011条经验 获得超2个赞
你可以试试这样的东西吗?
此函数应控制台记录数组和所有子数组中的每个项目。
// using Array.forEach
const recursiveLoop1 = (elem) => {
if (Array.isArray(elem)) {
elem.forEach((innerElem) => {
recursiveLoop1(innerElem)
})
} else {
console.log(elem)
}
}
// using classic for-loop
const recursiveLoop2 = (elem) => {
if (Array.isArray(elem)) {
for (let i = 0; i < elem.length; i++) {
recursiveLoop2(elem[i])
}
} else {
console.log(elem)
}
}
let array = [
[1,2,3],
[4,5,6],
[7,8,9],
[[10,11,12],13,14],
[[15,16,16],[17,18,[19,20]]]
];
recursiveLoop1(array);
recursiveLoop2(array);

TA贡献1865条经验 获得超7个赞
你需要一个嵌套循环。JavaScript 有不同的方法来做到这一点。以下是函数式编程的示例:
array.forEach(function (outer) {
outer.forEach(function (inner) {
console.log(inner)
})
});
由于您有一个深度嵌套的数组,您可能还想先将其展平。
添加回答
举报