将下列数组扁平化,并去除重复数据,最后得到一个升序且不重复的数组 var arr = [1, [2,3,4,5 [3, [4, 5]]], 6]
需求将多维数组转换为一维数组
let arr = [1, [2,3,4,5, [3, [4, 5]]], 6];
方法一:直接是用flat函数
//是用flat函数
let flatResult = arr.flat(Infinity); // 得到扁平化数据
let result = [...new Set(flatResult)]; // 数组去重
let sortResult = result.sort((a,b) => {
return a-b});
console.log(flatResult); // [1, 2, 3, 4, 5, 3, 4, 5, 6];
console.log([...new Set(result)]); // [1, 2, 3, 4, 5, 6]
方法二:正则方法
let arrString = JSON.stringify(arr);
let flatResult = arrString.replace(/\[|]/g,'').split(','); //[1,2,3,4,5,3,4,5,6]
// 去重排序同上
方法三:正则方法2
let arrString = JSON.stringify(arr);
let flatResult = arrString.replace(/\[|]/g,''); //1,2,3,4,5,3,4,5,6
let pinjieString = `[${flatResult}]`;
let result = JSON.parse(pinjieString);
// 去重排序同上