网摘:http://www.jb51.net/article/85779.htm
面试如题,我 没 写 出 来,尴尬个半死;
回来之后自己写了一下当时面试的想法,是不对的,在这里就不误导读者了。
总结了一下:
1、我忘了字符串也可以用for循环取到每个字符的;
2、我不知道怎么往一个对象(Object)里添加属性和值;
解决方法:
let obj = {};
let key = "name";
let value = "小鱼儿";
obj[key] = value;
console.log(obj);
结果:{name: "小鱼儿"}
3、我不知道对每个字符分别计数怎么存到对象里
解决方法:
for(let i = 0;i < str.length;i++){
if(!obj[str.charAt(i)]){
obj[str.charAt(i)] = 1;
}else{
obj[str.charAt(i)++;
}
}
整体代码:
function count(str){
let obj = {};
let maxStr = null;
let num = 0;
for(let i = 0;i < str.length; i++){
if(!obj[str.charAt(i)]){
obj[str.charAt(i)] = 1;
}else{
obj[str.charAt(i)]++;
}
}
for(let j in obj){
if(obj[j] > num){
num = obj[j];
maxStr = j;
}
}
console.log(obj);
console.log("出现次数最多的字符是" + maxStr + "出现的次数为:" + num)
}
count("abbbcaccb");
感谢阅读我的文章,如有疑问或写错的地方,请不吝留言赐教
网友评论