本文最后更新于 757 天前,其中的信息可能已经有所发展或是发生改变。
将下面的多维数组打开,输出去重后的结果(扁平化数组)
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出来。
console.log([…new Set([1, 2, 3, [1, 2, 2, 3, [4, 5, 6]]].flat(9))])
这个方法之前没用过,学到了