使用Set去重后通过sort排序实现数组去重升序,先利用Set去除重复值,再用扩展运算符转数组并调用sort((a,b)=>a-b)进行数值升序排列,字符串则直接sort()按字典序排列。

JavaScript数组去重并升序排列,可以通过Set去重再使用sort排序实现。
使用Set去重 + sort升序
这是最常用的方法。Set自动去除重复值,然后用Array.from或扩展运算符转回数组,再调用sort方法按升序排列。
- 利用Set结构去除重复元素
- 将Set转为数组后调用sort((a, b) => a - b)进行数值升序排序
示例代码:
const arr = [3, 1, 4, 1, 5, 9, 2, 6, 5];
const uniqueSorted = [...new Set(arr)].sort((a, b) => a - b);
console.log(uniqueSorted); // [1, 2, 3, 4, 5, 6, 9]
适用于字符串数组的情况
如果数组中是字符串,sort()默认按字典顺序排序,直接使用即可。
方科网络ERP图文店II版为仿代码站独立研发的网络版ERP销售程序。本本版本为方科网络ERP图文店版的简化版,去除了部分不同用的功能,使得系统更加精炼实用。考虑到图文店的特殊情况,本系统并未制作出入库功能,而是将销售作为重头,使用本系统,可以有效解决大型图文店员工多,换班数量多,订单混杂不清的情况。下单、取件、结算分别记录操作人员,真正做到订单全程跟踪!无限用户级别,不同的用户级别可以设置不同的价
const strArr = ['banana', 'apple', 'banana', 'cherry'];
const uniqueStrSorted = [...new Set(strArr)].sort();
console.log(uniqueStrSorted); // ['apple', 'banana', 'cherry']
注意点:sort的回调函数
对数字排序时一定要传入(a, b) => a - b这个比较函数,否则会按字符串方式排序,导致10排在2前面。
例如:
[10, 2, 1].sort() → 结果是 ['1', '10', '2'](错误)
[10, 2, 1].sort((a, b) => a - b) → 正确得到 [1, 2, 10]
基本上就这些,不复杂但容易忽略细节。









