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