Array.flat(Infinity)的正确打法是使用递归来处理多层嵌套数组。下面是一个使用递归的示例代码:
function flattenArray(arr) {
// 遍历数组中的每个元素
return arr.reduce((acc, val) => {
// 如果当前元素是数组,则递归调用flattenArray函数
if (Array.isArray(val)) {
return acc.concat(flattenArray(val));
}
// 如果当前元素不是数组,则将其添加到结果数组中
return acc.concat(val);
}, []);
}
const nestedArray = [1, 2, [3, 4, [5, 6]]];
const flattenedArray = flattenArray(nestedArray);
console.log(flattenedArray);
运行上述代码将输出:[1, 2, 3, 4, 5, 6]。这样就成功将多层嵌套数组展平了。