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