// js 将数组扁平化并去除其中重复数据,最终得到一个升序且不重复的数组 const arr= [[1,2,2], [3,4,5,5], [6,7,8,9,[11,12,[12,13,[14]]]], 10];
时间: 2023-07-02 22:08:46 浏览: 56
可以使用递归和 Set 数据结构来实现数组扁平化并去重。具体实现如下:
```javascript
function flattenAndSort(arr) {
const result = [];
arr.forEach(item => {
if (Array.isArray(item)) {
result.push(...flattenAndSort(item));
} else {
result.push(item);
}
});
return Array.from(new Set(result)).sort((a, b) => a - b);
}
const arr = [[1,2,2], [3,4,5,5], [6,7,8,9,[11,12,[12,13,[14]]]], 10];
const flattenedAndSortedArr = flattenAndSort(arr);
console.log(flattenedAndSortedArr); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
```
首先定义一个 `flattenAndSort` 函数,用于将数组扁平化并排序。函数内部定义一个空数组 `result` 用于存储扁平化后的结果。然后遍历输入的数组 `arr`,对于每个元素,如果是数组,则递归调用 `flattenAndSort` 函数将其扁平化,否则直接将其添加到 `result` 中。
最后使用 `new Set(result)` 将结果去重,并调用 `Array.from` 将 Set 转换成数组,最后调用 `sort` 方法进行升序排序。最终得到一个升序且不重复的数组。