题目描述:判断字符串中重复次数最多的字符
// 解决思路:
// 1.判断字符重复的方法
// 创建空数组,利用键值对形式对每个字符进行计数
// 用到 采用for循环结合if判断 对象[键] 是否有值,无则undefined
// arr.charAt(i)取得arr中i索引号下的元素
// 2.对重复的字符进行计数
// 若对象中无某字符,则赋值1;有则加1
// 3.找字符计数最大的一个
// 采用 for属性in obj 对 对象的值 进行大小比较
点击查看代码
function mostLetter(str){
var obj = {};
for(var i =1;i<=str.length;i++){
if(!obj[str.charAt(i)]){
obj[str.charAt(i)] = 1
}else{
obj[str.charAt(i)]++;
}
}
var maxLetter = '';
var iMost = 0;
for(var i in obj){
if(obj[i]>iMost){
iMost = obj[i];
maxLetter = i;
}
}
return '最多的字符是' + maxLetter + '次数为' + iMost;
}
var str ='dhhshhsajjaajiiiiiii'
console.log(mostLetter(str))
题目要求: 字符串反转 ‘12345’,‘54321’
// 解题思路1:将字符串转化为数组,使用reverse(),再通过join()拼接起来
// 解题思路2:准备一个空的数组用来盛放翻转的字符,最后join拼接数组
点击查看代码
<body>
题目要求: 字符串反转 ‘12345’,‘54321’
<div id="demo"></div>
<div id="demo1"></div>
<script>
// 解题思路1:将字符串转化为数组,使用reverse(),再通过join()拼接起来
function reverseStr1(str){
return str.split('').reverse().join('')
}
// 解题思路2:准备一个空的数组用来盛放翻转的字符,最后join拼接数组
function reverseStr2(str){
var arr = [];
for(var i = 0;i<str.length;i++){
arr[str.length-1-i] = str[i]
}
return arr.join('')
}
var str = 'abcdrfff'
document.getElementById('demo').innerHTML = reverseStr1(str);
document.getElementById('demo1').innerHTML = reverseStr2(str);
</script>
</body>