在一个字符串,这样as'zhaochucichuzuiduodezifu ',我们要找出最重要的人物。这篇文章将解释思维的具体
方法。
首先,
介绍两字符串对象:indexOf()和charAt()方法
IndexOf()方法介绍,返回指定字符串值的字符串中的第一次的
位置 charAt()方法介绍返回指定位置的字符
首先,做一个小测试,
发现each'i'in的string'woainixiaoli位置。
var arr = 'woainixiaoli;
var索引= 1;定义变量索引
控制索引
当 / /看不到一个,即()返回值是1,周期结束
{做
指数=(我arr.indexof,指数+ 1); / /使用指数+ 1控制第二
参数,每一个
搜索从搜索指数的下一个字符位置开始
如果(索引)!= 1)可以找到{字符集
console.log(指数); / /输出位置
}
}(索引)!= 1);
在上面的代码
运行之后,控制台输出是
输入标题,string'zhaochucichuzuiduodezifu的人物
方法1:使用数组(有一个缺点,当最大字符数大于一个时,只能找到一个)。
var str =zhaochucichuzuiduodezifu ;
var arr = {}; / /定义一个新的数组
遍历字符串循环
对于(var i = 0,长度= str.length;i <长度;i++){
var指数= 1;
var j=0;
查找每个字符
{做
指数= str.indexof(STR {我},指数+ 1);
如果(索引)!= 1){
++;
}
}(索引)!= 1);
ARR { } = {我},STR; / / str中的字符的字符串赋给数组数组索引J数据,当多个周期后,会出现重复作业的现象,
赋值后,将改写
任务,但不
影响我们找出最多的字符。
}
console.log(ARR);
console.log(的最大特点是{ 1 } arr.length + ARR);
console.log(数+(arr.length - 1));
在上面的代码运行之后,控制台输出的结果如下:
正如你可以看到从输出数组arr,此方法将相同数量的字符只能
显示2个字符,如果出现次数相同的最大数,这种方法只能得到一个。在此基础上,
参考下对象的
解决方法。
方法二:使用对象(
推荐)
var str =zhaochucichuzuiduodezifu ;
var;
对于(var i = 0,长度= str.length;i <长度;i++){
字符集;
变量字符= str.charat(我);
如果(o { } }){ char是对象O的
属性,则o }是属性值,则出现O * } }控件的次数。
1;
{人}
o } = 1;如果出现第一个,记录数为1
}
}
console.log(O); / /输出是一个完整的对象,记录每个字符的时候,
遍历对象,查找最高字符数和次数。
var max=0;
无功maxchar = null;
为(O VAR键){
如果(max < { } }){
最大存储次数最多的max =
maxchar = / /关键;然后对应的字符是目前的关键
}
}
console.log(的最大特点是+ maxchar );
console.log(次数+最大);
在上面的代码运行之后,控制台输出的结果如下:
该方法解决了方法1的问题,可以清晰地记录每个字符的次数。当有两次相同的字符,我们可以清楚地看到在对象。
然而,仍有不足,不能直接输出的字符数量最高的同时,也需要更多的判断
条件。完美的代码如下(一_哈O O)
var str =nininihaoa ;
var;
对于(var i = 0,长度= str.length;i <长度;i++){
变量字符= str.charat(我);
如果(o { }){
O {字符} + +; / /增加1倍
{人}
o } = 1;如果出现第一个,记录数为1
}
}
console.log(O); / /输出是一个完整的对象,记录每个字符的时候,
查找数字对象遍历,最大字符数
var max=0;
对于(var在o中){
如果(max < { } }){
最大存储次数最多的max =
}
}
对于(var在o中){
如果(O {key} = = max){
/ / console.log(关键);
console.log(的最大特点是+键);
console.log(次数+最大);
}
}
结果如下:
以上是最为常见的js字符串搜索萧边介绍的人物。希望能对你有所帮助。如果你有任何问题,请给我留言,萧边会及时给您回复。谢谢您
支持网站。