我试图了解Javascript的许多基本组件,而我遇到的一件事就是一行代码
if (varX.indexOf(String(varY),0) < 0)
varX是一个字符串数组,varY显然是该数组中的字符串之一。带走&#34;,0&#34;我知道代码只是在寻找带有数组varX的varY。但是,我不知道0的作用以及if语句的含义。我做了我能做的事情来查看它并没有真正遇到任何事情。
答案 0 :(得分:3)
根据MDN docs:
fromindex
开始搜索的索引。如果索引大于或等于数组的长度,则返回-1,这意味着将不搜索该数组。如果提供的索引值为负数,则将其作为数组末尾的偏移量。注意:如果提供的索引为负数,则仍会从前到后搜索数组。如果计算的索引小于0,则将搜索整个数组。默认值:0(搜索整个数组)。
所以,传入&#34; 0&#34;非常无意义,因为无论如何它从0开始搜索。
答案 1 :(得分:2)
来自mdn:
arr.indexOf(searchElement[, fromIndex = 0]) fromIndex
开始搜索的索引。如果索引大于或 等于数组的长度,返回-1,表示数组 不会被搜查。如果提供的索引值为负数 number,它被视为数组末尾的偏移量。注意:如果 提供的索引为负数,仍然从前面搜索数组 回来。如果计算的索引小于0,那么整个数组 将被搜查。默认值:0(搜索整个数组)。
答案 2 :(得分:0)
0
是您开始搜索的索引。默认情况下为0
,因此您无需传递此参数。