2018年0112日笔记: 在数组里判断是否重复出现, 及重复次数等问题的三种解决方案
如果只是找出重复或不重复的,不用计算重复次数的情况下, 方法二,最快捷! 一. 传统处理方法是: 设置一个对象obj,并把数组中的每个元素,作为obj的属性; 统计属性的值(出现一次值加1); 大于1的,就是重复的元素.等于1就是没有重复的元素,最后把重复或不重复的元素放入新的数组中. 也可以用此方法来统计重复次数最多的元素,及次数; 1.题目:查找数组中重复出现过的元素 var arrx =[1, 2, 4, 4, 3, 3, 1, 5, 3]; function duplicates(arr) { var obj = {}; var res = []; for(i in arr){ if(obj[arr[i]]){ obj[arr[i]] +=1; } else{ obj[arr[i]] =1; } if(obj[arr[i]]>1 && res.indexOf(arr[i])==-1){ // obj的键大于1(说明重复出现), 并且 res数组里没有出现过,防止重复放入res; res.push(arr[i]); } } console.log(res); } duplicates(arrx); 2.上题数组中统计重复最多的元素和重复次数: function duplicates(arr) { var obj = {}; arr.forEach(function(item)