扁平化多维数组
将下面的多维数组打开,输出去重后的结果(扁平化数组)
function fn(array, result = []) {
for (let i of array) {
if (Array.isArray(i)) {
fn(i, result)
} else {
result.push(i)
}
}
return result
}
let s = fn([1, 2, 3, [1, 2, 2, 3, [4, 5, 6]]])
console.log([...new Set(s)]);
使用递归实现。将需要转化的数组以及结果作为参数传进去。然后循环数组中的每一项,判断是不是一个数组,如果是,则调用fn,否则将这项push到result数组里面,并return出来。