1.统计字符串中出现次数最多的字符是哪个,出现了几次 str = "abcdeereeryhhssqqq"
2.去除"abcdeereeryhhssqqq"中的重复字符
3.编写函数判定字符串是不是回文 , 回文示例:上海自来水来自海上
4.编写函数删除字符串中的数字
5.编写函数翻转字符串
// 1.统计字符串中出现次数最多的字符是哪个,出现了几次 str = "abcdeereeryhhssqqq"
var str = "abcdeereeryhhssqqq";
var obj ={};//创建一个空对对象 用来记录每个字符出现的个数
// 我们想要这样的结果 obj ={a:3,b:2,c:1};
for (var i = 0; i < str.length; i++) {
// obj[str[i]]开始时 obj对象里面的字符是没有值的 所以是undefined
// obj[str[i]] ->false !obj[str[i]]->true
if(!obj[str[i]]){
obj[str[i]]=1;
}else{
obj[str[i]]++;
}
}
console.log(obj);
// 找到obj对象里面最大值的字符 即比较值大小
var max = 0;
var zf;
// 遍历obj对象
for(var key in obj){
if(max<obj[key]){
max = obj[key];
zf = key;
}
}
console.log(zf+':'+max);
运行效果
// 2.去除"abcdeereeryhhssqqq"中的重复字符
var str = "abcdeereeryhhssqqq";
var st = '';
for (var i = 0; i < str.length; i++) {
if(st.indexOf(str[i])==-1){
st+=str[i];
}
}
console.log(st);
运行效果
// 3.编写函数判定字符串是不是回文 , 回文示例:上海自来水来自海上
var str = '上海自来水来自海上';
var arr = str.split('');//字符串对象转数组
console.log(arr);
var arr2 = arr.reverse();//反转数组
console.log(arr2);
var flag = false;//标记法 开关法
for (var i = 0; i < str.length; i++){
if(str[i]!=arr2[i]){
flag=true;
}
}
if(flag){
console.log('不是回文');
}else{
console.log('是回文');
}
运行效果
// 4.编写函数删除字符串中的数字
function removeNumber(str){
var st = '';
for (var i = 0; i < str.length; i++) {
if(isNaN(str[i])){
st +=str[i];
}
}
return st;
}
var str = 'dgd5g4df5g45df56dg5d4g4dg4d';
var res = removeNumber(str);
console.log(res);
运行效果
// 5.编写函数翻转字符串
function reverseStr(str){
var st='';
for (var i = str.length-1; i>=0; i--) {
st +=str[i];
}
return st;
}
var str = 'abcdefg';
var res = reverseStr(str);
console.log(res);