作者art1 (人,原來不是人)
看板Ajax
標題Re: [問題] 新手學習上遇到瓶頸
時間Fri Oct 9 22:06:59 2015
※ 引述《bunnystar (瞳孔裡的太陽)》之銘言:
: 小弟最近在codecademy上面學習JavaScript
: 但遇到瓶頸,找了很多資料研究了很久還是無法突破
: 想拜託版上的大大跟神人幫忙解惑
: 題目:
: Okay! Go ahead and add that second for loop inside the body of your if
: statement.
: 我打的:
: /*jshint multistr:true */
: var text = "Hey, how are you \
: doing? My name is Emily.";
: var myName = "Emily";
: var hits = [];
: for(var i = 0; i <myName.length; i++){
: console.log([i])};
: if (i=5) {
: console.log("5");
: }
: if (text[i] ==='E') {
: console.log("5");
: }
: var myName =[ ];
: myName.push("alen","ELLE","pig");
: myName[0];
: for(var i = 0; i <myName.length; i++){
: console.log([i])};
: 系統回應如下
: Oops, try again. Careful: your second 'for' loop should stop when it reaches
: its current point in the string + myName.length.
: 真的試了很久
: 拜託大家了
你宣告了 hits,底下卻都沒看到有在使用
設了兩個 if 條件去跑第一個 for 迴圈,卻只是在螢幕上顯示出來?
一開始宣告 myName 為一個字串,後面卻又宣告成陣列,假設這是正確的話
可以請問一下這有什麼意義嗎?
myName.push("alen","ELLE","pig");
//把這三個字串加到陣列後面,由於前面宣告為空的陣列,所以成為陣列前三個元素
myName[0]; // 陣列第一個元素內的名字
在第二個迴圈之前寫上面這兩句不知道有什麼目的
然後兩個迴圈的停止條件都是小於你的名字長度時停下來
可是你要搜尋的字串絕對不是只有你的名字長度那麼長耶?
總結來說就是你似乎完全沒看懂題目要你做什麼
因此寫出上面那一段讓我看不懂在幹嘛的程式碼
google 後的結論是這個練習是要你在一個長長的字串中,找到特定的字串(你的名字)
所以需要兩個迴圈,第一個用來從長長的字串開頭開始,一個字元一個字元比對去找
當找到符合你名字開頭的第一個字元時,開始執行第二個迴圈
第二個迴圈用來把你的名字寫入陣列中,由於已經知道你的名字開頭第一個字母在
字串中的位置,也知道你名字的字串長度,因此使用陣列的 push 方法去儲存你的
名字,也是一個字元一個字元地從長長的字串中讀取出來然後寫到陣列中
這個練習算是很簡單的比對一筆資料然後抓出你要的部份後存到陣列中
之後再來看要怎麼應用陣列中儲存的資料
ps:我沒學過 JavaScript,以上若有說錯請多包涵
--
「看在上帝的份上,我們不能當著孩子的面槍殺他的父親!」
「那我們就連孩子一起幹掉!」
「第一槍打中的是那個天真的孩子,第二槍是抱著孩子的母親。第三槍
停頓了三秒,當難以致信的父親擦拭著臉上愛子的腦漿從震驚中醒轉
過來,慢慢的轉頭看向停車的地方,分辨出是誰在攻擊他後,第三顆
子彈才將他的腦殼打飛。」 ─摘自〈狼群〉
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.254.6.168
※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1444399630.A.58E.html
※ 編輯: art1 (122.254.6.168), 10/09/2015 22:22:08
推 iamnodoubt: 其實我覺得他應該要學一下怎麼google,上次隨便google 10/09 23:05
→ iamnodoubt: 都好幾個可以點,學程式google太重要了xd 10/09 23:06
推 oToToT: 可是樓上,我比較喜歡DuckDuckGo(? 10/09 23:07
→ weilum: 看起來怎麼像個無窮迴圈 if (i=5)? 10/13 13:42