1.找到数组中重复的元素
- 第一种方法:
function findRepeatNumInArray(arr) {
let hashMap = new Map();
let result = new Array();
for (let i = 0; i < arr.length; i++) {
hashMap.set(arr[i], hashMap.has(arr[i]))
}
// 得到 hashMap 后,对其进行遍历,值为 true,对应的键就是重复的数
for(let [key, value] of hashMap.entries()) {
if(value === true) {
result.push(key);
}
}
return result;
}
let arr = [1, 1, 1, 2, 3, 3, 4, 5, 5, "a", "b", "a"];
console.log(findRepeatNumInArray(arr));
2.找到数组中第一个非重复的元素
function findFirstNonRepeat(arr) {
let hashMap = new Map();
for (let i = 0; i < arr.length; i++) {
hashMap.set(arr[i], hashMap.has(arr[i]))
}
// 找到第一个值为 false 的,就代表第一个非重复数,return 就好了
for(let [key, value] of hashMap.entries()) {
if(value === false) {
return key;
}
}
return "全部重复";
}
let arr = [1, 1, 1, 2, 3, 3, 4, 5, 5, "a", "b", "a"];
console.log(findFirstNonRepeat(arr));
3.过滤数组中重复的元素