Javascript卡在"用于"环

时间:2015-03-08 19:36:19

标签: javascript arrays loops

我是新手学习者,我正在学习来自codecademy的基本javaScript。我坚持在"搜索文本为你的名字"教程5/7。

这是我的问题:

  

你的循环应该在它遇到第一个迭代器的值时停止(比方说,i)   加上myName变量的长度。

这里有一些来自教程的信息:

你的第二个" for"环 好的!最后一个循环步骤:添加另一个for循环,这次是在if语句的主体内(在if' s {}之间)。

此循环将确保您名字的每个字符都被推送到最终数组。 if语句说:"如果我们找到名字的第一个字母,则启动第二个for循环!"这个循环说:"我要在数组中添加字符,直到我达到用户名字的长度。"因此,如果您的名字长度为11个字母,那么如果它在文本中看到myName的第一个字母,那么您的循环应该为点击添加11个字符。

对于您的第二个for循环,请记住以下几点:

首先,您要将第二个循环的迭代器设置为从第一个开始,所以它会从那个停止的地方开始。如果您的第一个循环以

开头
> for(var i = 0; // rest of loop setup 

你的第二个应该是

> for(var j = i; // rest of loop setup Second

认真思考你的循环何时停止。

最后,在你的循环体中,让你的程序使用命中的.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:我不想在不理解的情况下通过本教程。请帮我。教我。

3 个答案:

答案 0 :(得分:2)

for (var i = 0; i > text.length; i++) should be
for (var i = 0; i < text.length; i++)

否则它甚至不会满足甚至启动循环的标准。

答案 1 :(得分:1)

欢迎登机!你困惑&gt;与&lt;。你的循环不会运行,因为当i = 0时第一次检查它肯定不能保持0&gt; text.length,因为text.length至少为0(没有比空字符串短的字符串)。

你应该习惯在前两个步骤中手动完成循环,然后检查循环结束前发生的事情。

答案 2 :(得分: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循环继续,并且只会崩溃浏览器。