// 1. 递归
function b(arr) {
const result = [];
arr.forEach((item) => {
if (Array.isArray(item)) {
result.push(...b(item));
} else {
result.push(item);
}
});
return result;
}
// 2. 尾递归
function a(arr, result) {
arr.forEach((item) => {
if (Array.isArray(item)) {
result.push(...a(item, []));
} else {
result.push(item);
}
});
return result;
}
// 3. flat API
arr.flat(Infinity);