【发布时间】:2023-03-29 16:36:01
【问题描述】:
似乎找不到答案,可能是因为我缺乏谷歌搜索经验,并且 indexOf 的 mozilla 页面似乎没有回答它
//this returns -1 because it can't find 'ca' within cat
var randomArr = ['dog', 'cat', 'bird', 'cheetah'];
console.log(randomArr.indexOf('ca'));
//this returns 1 which is correct, but why?
var randomArr = ['dog', 'cat', 'bird', 'cheetah'];
for (var i = 0; i < randomArr.length; i++) {
if (randomArr[i].indexOf('ca') !== -1) {
console.log(i);
}
}
我不明白为什么在使用 indexOf 时这会有所不同。为什么在一种情况下需要精确的字符串匹配,而在另一种情况下不需要?
【问题讨论】:
-
因为
"ca"包含在"cat"中,但它不包含在数组中。您可能希望indexOf解包并递归搜索数组中的字符串,但它只能在一个级别的深度不可知论中使用它,无论您是在数组还是字符串上使用它。
标签: javascript indexof