2017-10-16 154 views
-3

我想要使用for循環來遍歷數組並檢查數組中每個單詞的第一個字母並檢查它是否以M開頭,但是我似乎無法弄清楚如何正確設置。For循環檢查數組中的第一個字母

到目前爲止,我有這樣的:

for (var animalsName = cats[0]; animalsName <= cats; animalsName++){ 
    if (animalsName.charAt(0) == 'M') { 
     console.log("No treat for " + animalsName + "."); 
    } else { 
     console.log(animalsName + " loved their treat!"); 
    } 
} 
+2

'animalsName'看起來這將是一個字符串,所以我很好奇,你期待'animalsName ++'做什麼。也許只是閱讀一些基本的「for循環」教程,如[this](https://www.w3schools.com/js/js_loop_for.asp)。 – csmckelvey

+0

是的,我想它不會做任何事情,但我不知道如何增加一個字符串。 – Db12797

+0

「_我不知道如何增加一個字符串_」那是因爲你沒有。你增加某種數字並用它從你的數組中獲取字符串。 – csmckelvey

回答

-1

你非常接近。

我在for循環中做了小的改動,以正確地迭代並獲取動物名稱的第一個字符。

var cats = []; 
 
cats.push('mname1'); 
 
cats.push('tname1'); 
 
cats.push('mname2'); 
 
cats.push('Mname3'); 
 

 

 
for (var index = 0; index < cats.length; index++){ 
 

 
    var animalsName = cats[index]; 
 
    
 
    if (animalsName.substr(0,1).toLowerCase() === 'm') { 
 
     console.log("No treat for " + animalsName + "."); 
 
    } else { 
 
     console.log(animalsName + " loved their treat!"); 
 
    } 
 
}

+0

爲什麼downvote?我發現我的答案被複制並粘貼爲單獨的答案並標記爲工作解決方案。 –

-1
for (let i = 0; i < cats.length; i += 1) { 
    if (cats[i].charAt(0).toLowerCase() === 'm') { 
    // do whatever you want 
    } 
} 

這將環比cats陣列和檢查第一letter-- charAt(0) --oF陣列中的每個元素。如果轉換成小寫的第一個字母是'm',那麼你可以做任何你想做的事情。

相關問題