var p = ["array of words", "i really hate the sun", "i'm TIred"]
function findword(contents,pattern){
var answer;
var idx;
var counter = 0;
var pat_lc = pattern.toLowerCase();
for (var i = 0; i <= contents.length-1; i++){
var str_lc = contents[i].toLowerCase();
idx = str_lc.indexOf(pat_lc)
if (idx >= 0){
answer = i
}
else{
answer = "-1"
}
}
alert(answer)
}
findword(p,"words")
我試圖找到數組的字符串中的某個字符串的索引,但它只適用於某些字在上面的數組中。例如,在代碼的最後一行,當我選擇搜索「單詞」時,它會分別返回「answer」和「idx」-1的值,當它們分別爲0和9時。但是,當我搜索「累」時,「答案」的值是2,「idx」是4(這是正確的)。爲什麼一些單詞有效並且其他單詞返回-1的值?試圖通過字符串數組搜索用戶輸入的模式 - javascript
爲什麼不使用像'array.filter'這樣的本地函數? https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter – Joren