js数组去重排序 const nums = [1,2,3,2,12,3,4,12,6,2,1,1]; const fn = (nums) { } console.log(fn(nums));//1,2,3,4,6,12
时间: 2024-10-13 22:14:39 浏览: 22
高性能js数组去重(12种方法,史上最全)
要实现JavaScript数组去重并排序,可以采用以下方法:
1. 使用Set来去除重复元素,因为Set只存储唯一的值[^1]。
```javascript
let uniqueNums = [...new Set(nums)];
```
2. 对去重后的数组进行排序,这里我们先按值降序(数值大排在前面),如果值相同再按索引升序排列。
```javascript
uniqueNums.sort((a, b) => {
if (a === b) return nums.indexOf(a) - nums.indexOf(b); // 如果相等则按索引顺序
else return b - a; // 大于b则返回正数,表示b排在前面
});
```
3. 最后将排序后的数组转换回字符串,以逗号分隔。
```javascript
const result = uniqueNums.join(",");
```
将这些代码组合起来:
```javascript
const nums = [1,2,3,2,12,3,4,12,6,2,1,1];
const uniqueSortedNums = [...new Set(nums)].sort((a, b) => {
if (a === b) return nums.indexOf(a) - nums.indexOf(b);
else return b - a;
}).join(",");
console.log(uniqueSortedNums); // 输出:12,6,4,3,2,1
```
阅读全文