题目如下
已知如下数组:
const arr = [[1,1,3,5],[5,8,2,4],[5,[6,2,8],[3,5,4,11,[9,6,15,11],13,12],11],10]
编写一个程序将数组扁平化去并除其中重复部分数据,最终得到一个升序且不重复的数组;
我的解题方法
// 首先声明一个空数组,用于储存扁平化的数据
let totalArr = []
//用了递归来扁平化数据
function fn(a) {
if(Array.isArray(a)){
for(let i = 0; i < a.length; i++){
fn(a[i])
}
}else {
totalArr.push(a)
}
}
fn(arr)
// 去重然后排序
endArr = [...new Set(totalArr)].sort((a,b) => a-b)
console.log(...endArr) // 1 2 3 4 5 6 8 9 10 11 12 13 15