题目
找出一个字符串中出现次数最多的字符
const str = 'asdfaaaa'
最后的返回值是字符串'a'
实现
嗯,我略加思考(半个小时左右),给出了一个复杂的方案,一个屎一般的方案
屎一般的方案
我的方案是利用redcue
,计算出了每个字符串出现的频次,存到了一个对象中:
const obj = {a: 5, s: 1, d: 1, f: 1}
然后就是取出其中最大的那一项了,需要对这个对象按照属性值排序了,我当时写的方案就像屎一样
不,我就是一坨屎
我的做法是:
const arr = Object.keys(obj);
let max = 0;
for (let i = 0; i < arr.length; i++) {
if (obj[arr[i]] > obj[arr[max]]) {
max = i
}
}
其实根本没有必要这样。按对象的属性对数组排序懂吗?
const arr = [
{ value: 'a', count: 100 },
{ value: 'b', count: 99 }