Maison >interface Web >js tutoriel >Comment trouver l'élément le plus répété dans un tableau
C'est ainsi que j'ai commencé ma carrière de blogueur
--------------------------------- - ------------------Avertissez-vous
Titre : L'élément avec le plus de répétitions dans le tableau
Sans plus tard, passons directement au code- ------
Première méthode :
function getMost(arr){ var hash = {}; var m = 0; var trueEl; var el; for(var i = 0,len = arr.length; i < len; i++ ) { el = arr[i]; hash[el] === undefined ? hash[el] = 1 : (hash[el] ++); if(hash[el] >= m){ m = hash[el]; trueEl = el; } } return trueEl; };
Deuxième méthode :
function getMost(arr) { if (!arr.length) return if (arr.length === 1) return 1 var res = {} // 遍历数组 for (var i=0,l=arr.length;i<l;i++) { if (!res[arr[i]]) { res[arr[i]] = 1; } else { res[arr[i]]++; } } // 遍历 res var keys = Object.keys(res); console.log(keys); var maxNum = 0, maxEle; for (var i=0,l = keys.length;i<l;i++) { if (res[keys[i]] > maxNum) { maxNum = res[keys[i]]; maxEle = keys[i]; } return maxEle; }
Troisième méthode :
Array.prototype.getMost = function(){ var obj = this.reduce((p,n) =>(p[n]++ ||(p[n] = 1),(p.max=p.max>=p[n]?p.max:p[n]), (p.key=p.max>p[n]?p.key:n), p), {}); return 'key: '+ obj.key+ ' len: '+obj.max;} var arr = [1,2,3,4,2,1,4,2,3,5]; arr.getMost();
La troisième méthode a un bug. S'il y a plusieurs éléments avec le plus de répétitions, le dernier élément sera renvoyé.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!