JavaScript 实战练习题
1.给定一个字符串例如:“abaasdffggghhjjkkgfddsssss3444343”
问题一:查找指定字符是否在以上字符串中存在,如:i,c ,b等
var str2 = "icb";
for(var i=0;i<str.length;i++){
for(var j=0;j<str2.length;j++){
if(str[i]==str2[j]){
alert("存在相同字符")
}
}
};
问题二:找出以上字符串中出现次数最多的字符和出现的次数
写法一:
var arr2=[];
for(var i=0;i<str.length;i++)
{
var obj = {};
if(i==0)
{
obj.str=str[i];
obj.count=1;
arr2.push(obj);
continue;
}
var exist=false;
for (var j=0;j<arr2.length;j++) {
if(str[i]==arr2[j].str)
{
arr2[j].count+=1;
exist=true;
}
}
if(!exist)
{
obj.str=str[i];
obj.count=1;
arr2.push(obj);
}
}
var s='';
var c=0;
for(var i=0;i<arr2.length;i++)
{
if(arr2[i].count>c)
{
s=arr2[i].str
c=arr2[i].count;
}
}
console.log('最多字符为'+s+'次数为:'+c);
var arr2=[];
for(var i=0;i<str.length;i++)
{
var obj = {};
if(i==0)
{
obj.str=str[i];
obj.count=1;
arr2.push(obj);
continue;
}
var exist=false;
for (var j=0;j<arr2.length;j++) {
if(str[i]==arr2[j].str)
{
arr2[j].count+=1;
exist=true;
}
}
if(!exist)
{
obj.str=str[i];
obj.count=1;
arr2.push(obj);
}
}
var s='';
var c=0;
for(var i=0;i<arr2.length;i++)
{
if(arr2[i].count>c)
{
s=arr2[i].str
c=arr2[i].count;
}
}
console.log('最多字符为'+s+'次数为:'+c);
写法二:简洁写法
var str = "abcdefgaaaaaaddda";
var obj = {};
var arr = [];
var letter;
for(var i = 0,len = str.length;i<len;i++){
letter = str[i];
if(!obj[letter]){
obj[letter] = 1;
}else{
obj[letter]++;
}
}
var max_key,max_num=0;
for(key in obj){
if(max_num <obj[key]){
max_num = obj[key];
max_key = key;
}
}
document.write("字母:"+max_key+" 次数:"+max_num);
var str = "abcdefgaaaaaaddda";
var obj = {};
var arr = [];
var letter;
for(var i = 0,len = str.length;i<len;i++){
letter = str[i];
if(!obj[letter]){
obj[letter] = 1;
}else{
obj[letter]++;
}
}
var max_key,max_num=0;
for(key in obj){
if(max_num <obj[key]){
max_num = obj[key];
max_key = key;
}
}
document.write("字母:"+max_key+" 次数:"+max_num);
浙公网安备 33010602011771号