js 多维数组去重排序
// 定义一个数组 let arr = [[1, 2, 3], [7, 0, 5], [6, 9, 8]]; // 输出结果 console.log([...new Set(arr.flat(Infinity))].sort()) // [0, 1, 2, 3, 5, 6, 7, 8, 9] // Array.prototype.flat()用于将嵌套的数组“拉平”,变成一维的数组。该方法返回一个新数组,对原数据没有影响。 // 如果不管有多少层嵌套,都要转成一维数组,可以用Infinity关键字作为参数。 arr.flat(Infinity) // ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。 Set本身是一个构造函数,用来生成 Set 数据结构。 // 去除数组的重复成员 [...new Set(array)] // 排序 Array.prototype.sort() // 所以结果就是 [...new Set(arr.flat(Infinity))].sort() // 还有一种写法 Array.from(new Set(arr.flat(Infinity))).sort()