Heim > Web-Frontend > js-Tutorial > So finden Sie das am häufigsten wiederholte Element in einem Array

So finden Sie das am häufigsten wiederholte Element in einem Array

一个新手
Freigeben: 2017-09-27 10:35:43
Original
6564 Leute haben es durchsucht

So habe ich meine Blogger-Karriere begonnen

--------------------------------- - ------------------Warnen Sie sich

Titel: Das am häufigsten wiederholte Element im Array

Kein weiterer Unsinn, lasst uns gleich loslegen der Code- ------

Erste Methode:

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;
};    	
Nach dem Login kopieren

Zweite Methode:

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;
}
Nach dem Login kopieren

Dritte Methode:

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 &#39;key: &#39;+ obj.key+ &#39; len: &#39;+obj.max;}
var arr = [1,2,3,4,2,1,4,2,3,5];
arr.getMost();
Nach dem Login kopieren

Die dritte Methode hat einen Fehler. Wenn es mehrere Elemente mit den meisten Wiederholungen gibt, wird das letzte Element zurückgegeben.

Das obige ist der detaillierte Inhalt vonSo finden Sie das am häufigsten wiederholte Element in einem Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage