Javascript 在字符串中查找单词的循环
所以,我正在开发一个“for”循环,它将识别我的名字Andrew,并将其放入一个数组中,但它有一些问题Javascript 在字符串中查找单词的循环,javascript,Javascript,所以,我正在开发一个“for”循环,它将识别我的名字Andrew,并将其放入一个数组中,但它有一些问题 /*jshint multistr:true */ var text = ("Andrew is really awesome and Andrew should be working on the project, but there is honestly nothing for Andrew to do."); var myName = ("Andrew"); var hits = [
/*jshint multistr:true */
var text = ("Andrew is really awesome and Andrew should be working on the project, but there is honestly nothing for Andrew to do.");
var myName = ("Andrew");
var hits = [];
for (var i = 0; i < text.length; i ++) {
if (text[i] === "A") {
for (var j = i; i + nyName.length; i ++) {
hits.push(text[j]);
}
}
}
/*jshint multistr:true*/
var text=(“Andrew真是太棒了,Andrew应该在这个项目上工作,但老实说,Andrew没有什么事可做。”);
var myName=(“安德鲁”);
var命中率=[];
对于(变量i=0;i
另外,第二个循环应该在到达myName结尾时停止。您在for循环语法中拼写错误了
myName
,而是键入了nyName
,因此,脚本很可能会在到达该行时立即消失。for循环中要引用myName
的输入错误似乎是一个大问题:
for (var j = i; i + nyName.length; i ++)
^
您使用的是JSHINT,所以只要阅读错误消息,它就会准确地告诉您出了什么问题 错误:
- 第7行:
未定义“nyName”for(var j=i;i+nyName.length;i++){
- 第3行:
“myName”已定义,但从未使用过var myName=(“安德鲁”);
此外,您的内部循环看起来很奇怪
for (var j = i; i + nyName.length; i ++) {
似乎它会导致无限循环。您可能希望
j
具有不同的条件。拼写错误的myName
不是唯一失败的部分。for循环永远不会结束,因为i+myName.length
将始终计算为true
。您还需要增加j的值
或它将始终在索引i
处获取字符
这是正确的循环
for (var i = 0; i < text.length; i ++) {
if (text[i] === "A") {
for (var j = 0; j < myName.length; i++, j++) {
hits.push(text[i]);
}
}
}
for(变量i=0;i
我想你的意思是(I-j)i
是正在检查的当前字符。如果找到“A”
,它将使用myName.length
的字符。概念验证