1. 程式人生 > >js獲取array陣列中出現次數最多的元素(字串)

js獲取array陣列中出現次數最多的元素(字串)

function Maxarr(array) {
			var count = 1;
			var yuansu = new Array(); //存放陣列array的不重複的元素 
			var sum = new Array(); //存放陣列array中每個不同元素的出現的次數  
			for(var i = 0; i < array.length; i++) {
				for(var j = i + 1; j < array.length; j++) {
					if(array[i] == array[j]) {
						count++; //用來計算與當前這個元素相同的個數  
						array.splice(j, 1); //沒找到一個相同的元素,就要把它移除掉,  
						j--;
					}
				}
				yuansu[i] = array[i]; //將當前的元素存入到yuansu陣列中  
				sum[i] = count; //並且將有多少個當前這樣的元素的個數存入sum陣列中  
				count = 1; //再將count重新賦值,進入下一個元素的判斷  
			}

			//算出array陣列中出現次數最多的元素  
			var newsum = new Array(); //  sum;  
			for(var item in sum) {
				newsum[item] = sum[item];
			}
			newsum.sort();
			//document.write(sum.toString()+"<br/>");  
			//document.write(newsum.toString() + "<br/>");  
			var first = ''; //存放出現次數最多的元素,以及個數  
			var second = ''; //存放出現次數居第二位的元素,以及個數  
			var fcount = 1; //計算出現次數最多的元素總共有多少個  
			//算出出現次數最多的元素及個數  
			for(var i = 0; i < sum.length; i++) {
				if(sum[i] == newsum[newsum.length - 1]) {

					fcount++;
					return yuansu[0];
				}

			}

		}