一个有重复元素的数组,只保留不重复的元素,去掉所有重复的元素
思路:1.先获取去重后的数组oneArr,遍历原数组arr,统计去重后的数组元素的出现次数——次数数组countArr(与去重后的数组的索引值 相同,从而一一对应)
2.遍历次数数组countArr的索引值,判断如果当前索引值对应的数值为1,则将oneArr数组中当前索引对应的元素添加到结果数组resArr中
3.返回resArr
1 function solution(arr){
2 let oneArr = [...new Set(arr)]
3 let countArr = Array(oneArr.length)
4 let resArr = []
5 countArr.fill(0)
6 for(let i of arr){
7 for(let j in oneArr){
8 if(i === oneArr[j]){
9 countArr[j] ++
10 }
11 }
12 }
13
14 for(let i in countArr){
15 if(countArr[i] === 1){
16 resArr.push(oneArr[i])
17 }
18 }
19 return resArr
20 }
21
22 let arr = [1,2,3,3,4,5,5,5,6,4]
23 console.log(solution(arr))
-------自学记录。欢迎指出错误,其它勿扰。-------