第一种
reduce 和 ES6的写法,省去了繁琐的 for 循环,值替换
let str = 'assaddsaasdss'
function findStr(str) {
let arr = str.split('')
let obj = arr.reduce((pre, cur) => {
pre[cur] ? ++pre[cur] : pre[cur] = 1
return pre
}, {})
let valuesArr = Object.values(obj)
let valueMax = Math.max.apply(null, valuesArr)
let indexMax = valuesArr.indexOf(valueMax)
let maxStr = Object.keys(obj)[indexMax]
return [maxStr, valueMax]
}
console.log('findStr(str)', findStr(str));