[英]Javascript stuck at “for” loop
我是新手学习者,并且正在从codecademy学习基本的JavaScript。我被困在“ Search Text for Your Name”教程5/7中。
这是我的问题:
当循环达到第一个迭代器的值(例如,i)加上myName变量的长度时,循环应停止。
这是从教程到的一些信息:
您的第二个“ for”循环好吧! 最后一个循环步骤:这次在if语句的主体内(在if的{}之间)添加另一个for循环。
此循环将确保您姓名的每个字符都被推送到最终数组。 if语句说:“如果找到名称的第一个字母,请启动第二个for循环!” 这个循环说:“我要在数组中添加字符,直到达到用户名的长度为止。” 因此,如果您的名字是11个字母长,则循环中如果在文本中看到myName的第一个字母,则应该在匹配中添加11个字符。
对于第二个for循环,请记住以下几点:
首先,您需要将第二个循环的迭代器设置为从第一个循环开始,以便从该循环的终止位置开始。 如果您的第一个循环以
> for(var i = 0; // rest of loop setup
你的第二个应该是这样的
> for(var j = i; // rest of loop setup Second
想一想您的循环何时停止。
最后,在循环体中,让程序使用hits的.push()方法。 就像字符串和数组具有.length方法一样,数组具有.push()方法,该方法将括号之间的内容添加到数组的末尾。 例如,
newArray = [];
newArray.push('hello');
newArray[0]; // equals 'hello'
这是我的代码:
multistr:true
var text = "Hey, how are you \
doing? My name is Emily.";
var myName = "Emily";
var hits = [];
for (var i = 0; i > text.length; i++)
{
if (text[i] === 'E')
{
for(var j = i; j > text.length; j++){
};
};
};
ps:我不想不了解就通过本教程。 请帮我。 教我。
for (var i = 0; i > text.length; i++) should be
for (var i = 0; i < text.length; i++)
否则它将永远无法满足启动循环的条件。
欢迎登机! 您将>与<混淆了。 您的循环将无法运行,因为对于i = 0的第一次检查,它肯定不包含0> text.length,因为text.length至少为0(没有比空字符串短的字符串)。
您应该养成手动完成循环的前两个步骤的习惯,然后检查循环结束之前会发生什么。
这是我得到的代码:
for ( i = 0; i < text.length; i++)
{
if ( text[i] === "E")
{
for( var j = i; j < (myName.length + i ); j++)
{
hits.push(text[j]);
}
}
};
看来您在第二个for循环中缺少了“ + i”部分。 这似乎可以确保将包含第一个循环。 我尝试了没有“ + i”的情况,但它不起作用。
我尝试使用“ + j”直接从第二个for循环继续,这只会使浏览器崩溃。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.