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)
})
});
由于您有一個深度嵌套的數組,您可能還想先將其展平。
添加回答
舉報