js对数组去重 并从大到小排序,并统计重复的数和其数量,存入duplicateData内const arr = [2,4,1,0,-1,5,9,3,2,4,1,0,-1,5,9]
时间: 2024-10-20 16:15:28 浏览: 13
在JavaScript中,你可以先对数组进行去重,然后排序并统计重复元素及其数量。以下是如何完成这个任务的一个示例:
1. **去重并排序**[^1]:
```javascript
const arr = [2, 4, 1, 0, -1, 5, 9, 3, 2, 4, 1, 0, -1, 5, 9];
// 使用Set去除重复元素
const uniqueArr = [...new Set(arr)];
// 排序数组(默认升序)
uniqueArr.sort((a, b) => a - b);
console.log(uniqueArr); // 输出:[-1, 0, 1, 2, 3, 4, 5, 9]
```
2. **统计重复元素和数量**[^2]:
```javascript
function countDuplicates(array) {
let duplicateData = {};
array.forEach(item => {
if (item in duplicateData) {
duplicateData[item]++;
} else {
duplicateData[item] = 1;
}
});
return duplicateData;
}
const duplicates = countDuplicates(uniqueArr);
console.log(duplicates); // 输出:{2: 2, 4: 2, 1: 2, 0: 2, -1: 2, 5: 2, 9: 2}
```
这样,`duplicates`对象就包含了数组中每个唯一元素以及它们的重复次数。
阅读全文