手写loadsh函数的第二天
<script>
// 初始数组
const arr = [1, [2, [3, [4]], 5]];
// 递归函数,用于深度展平数组
function flattenDeep(arr) {
return arr.reduce((result, currentItem) => {
// 如果当前元素是数组,递归调用 flattenDeep 函数,继续展平
if (Array.isArray(currentItem)) {
return result.concat(flattenDeep(currentItem));
} else {
// 如果当前元素不是数组,直接添加到结果数组中
return result.concat(currentItem);
}
}, []);
}
// 调用展平函数并输出结果
console.log(flattenDeep(arr));
</script>