要过滤掉数组中的重复值并从小到大排序,可以使用 JavaScript 的 Set
去重和 Array.prototype.sort()
方法进行排序。以下是实现代码:
const arr = [9, 8, 7, 5, 6, 3, 4, 1, 2, 1, 9, 8];
// 1. 使用 Set 去重
const uniqueArr = [...new Set(arr)];
// 2. 使用 sort 方法排序
const sortedArr = uniqueArr.sort((a, b) => a - b);
console.log(sortedArr); // 输出: [1, 2, 3, 4, 5, 6, 7, 8, 9]
代码说明:
-
去重:
new Set(arr)
:将数组转换为Set
,Set
会自动去除重复值。[...new Set(arr)]
:将Set
转换回数组。
-
排序:
sort((a, b) => a - b)
:对数组进行升序排序。sort
默认按字符串排序,因此需要传入比较函数(a, b) => a - b
来确保按数值大小排序。
比较函数的返回值决定了排序顺序:负数(a 在前)、零(不变)、正数(b 在前)。
输出结果:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
简化写法:
如果希望代码更简洁,可以写成一行:
const sortedUniqueArr = [...new Set(arr)].sort((a, b) => a - b);
console.log(sortedUniqueArr); // 输出: [1, 2, 3, 4, 5, 6, 7, 8, 9]
这种方法既高效又简洁,适合处理类似的数组操作。