簡體   English   中英

JavaScript卡在“ for”循環中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM