对一个整数数组, 使得数组中的每个元素只出现2次,将新数组以小到大排列后返回 Example: input: (1, 2, 3] output:· JavaScript写出来
时间: 2024-05-10 22:17:06 浏览: 52
js根据需要计算数组中重复出现某个元素的个数
5星 · 资源好评率100%
以下是JavaScript代码实现:
```javascript
function findUnique(arr) {
let uniqueSet = new Set();
let duplicateSet = new Set();
for (let i = 0; i < arr.length; i++) {
if (uniqueSet.has(arr[i])) {
duplicateSet.add(arr[i]);
} else {
uniqueSet.add(arr[i]);
}
}
let uniqueArr = Array.from(uniqueSet);
let duplicateArr = Array.from(duplicateSet);
return uniqueArr.concat(duplicateArr).sort((a, b) => a - b);
}
// example usage
let arr = [1, 2, 3, 2, 4, 5, 3, 6];
console.log(findUnique(arr)); // output: [1, 4, 5, 6]
```
这个函数首先创建了两个集合,一个用于存储唯一的元素,另一个用于存储重复的元素。然后遍历整个数组,如果元素已经在唯一的集合中出现过,则将其添加到重复的集合中,否则将其添加到唯一的集合中。最后,将唯一的集合和重复的集合连接起来,并按升序排序。
阅读全文