function flattenArray(arr, depth) {
// 如果传入的数字小于等于0, 直接返回原始数组
if (depth <= 0) {
return arr;
}
// 初始化结果数组
let flattened = [];
// 遍历原始数组
for (let i = 0; i < arr.length; i++) {
// 如果当前元素是数组并且传入的数字大于1, 进行递归扁平化
if (Array.isArray(arr[i]) && depth > 1) {
flattened = flattened.concat(flattenArray(arr[i], depth - 1));
} else {
flattened.push(arr[i]);
}
}
return flattened;
}
const result = flattenArray([1, 2, [3, 4, [100, [33, 44], 200], 5], 6], 2);
console.log(result);
每日一题之数组扁平化实现
最新推荐文章于 2024-08-14 15:45:18 发布