- A+
所属分类:Web前端
题目描述:判断字符串中重复次数最多的字符
// 解决思路:
// 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>