1. Max Times
var str="qwertyuiopasdfghjklzxcvbnmqazwsxaswazaaa";
var arr=str.split("");
function moreValue(arr) {
if (!arr) return false;
if (arr.length === 1) return 1;
let res = {}
let maxNum = 0;
let maxValue = null;
for(let i = 0; i < arr.length;i++) {
let val = arr[i]
res[val] === undefined ? res[val] = 1 : res[val]++;
if(res[val] > maxNum) {
maxNum = res[val];
maxValue = val
}
}
return maxValue +','+ maxNum;
}
console.log(moreValue(arr));
2. Use Reduce
var arr = ["李","李","设","弟","弟","生","生","李"];
function getRepeatNum(){
return arr.reduce(function(prev,next){
prev[next] = (prev[next] + 1) || 1;
return prev;
},{});
}
console.log(getRepeatNum());
3. No Use Reduce
var arr = ["李","李","设","弟","弟","生","生","李"];
function getRepeatNum(){
var obj = {};
for(var i= 0, l = arr.length; i< l; i++){
var item = arr[i];
obj[item] = (obj[item] +1 ) || 1;
}
return obj;
}
console.log(getRepeatNum());