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")
文字列の配列で特定の単語の配列のインデックスを見つけようとしていますが、上記の配列の特定の単語に対してのみ機能します。たとえば、コードの最後の行で、「words」を検索することを選択すると、「answer」と「idx」の値がそれぞれ 0 と 9 になるはずのときに -1 が返されます。しかし、「tired」を検索すると、「answer」の値は 2 で、「idx」の値は 4 (正しい) です。一部の単語が機能し、他の単語が -1 の値を返すのはなぜですか?