【问题标题】:The indexOf method in JavascriptJavascript 中的 indexOf 方法
【发布时间】:2014-12-15 19:26:49
【问题描述】:

我正在尝试了解 Javascript 的许多基本组件,而我遇到的一件事是一行代码

if (varX.indexOf(String(varY),0) < 0)    

varX 是一个字符串数组,而 varY 显然是该数组中的字符串之一。去掉“,0”,我知道代码只是在寻找带有数组 varX 的 varY。但我不知道 ,0 的作用以及 if 语句的含义。我尽我所能查了一遍,并没有真正发现任何东西。

【问题讨论】:

  • ,0 表示搜索的开始。它默认从 0 开始,所以这是多余的。
  • 我正在做一些谷歌搜索,但我想我搜索的方式并不是最好的方式。现在我回头看,我有点在搜索中找不到它。不过非常感谢!

标签: javascript if-statement indexof


【解决方案1】:

根据MDN docs

fromindex

开始搜索的索引。如果索引大于或等于数组的长度,则返回-1,表示不会搜索该数组。如果提供的索引值为负数,则将其作为距数组末尾的偏移量。注意:如果提供的索引为负数,则仍然从前向后搜索数组。如果计算的索引小于 0,则将搜索整个数组。默认值:0(搜索整个数组)。

因此,传入“0”几乎没有意义,因为无论如何它都会从 0 开始搜索。

【讨论】:

  • 应该注意的是,没有充分的理由按照提供的代码示例中的方式进行操作,因为 0 是默认值。
  • 非常感谢!我会投赞成票,但我显然需要 15 个代表才能做到这一点,而我还没有。不过给了支票! :)
【解决方案2】:

来自mdn

arr.indexOf(searchElement[, fromIndex = 0])

fromIndex

开始搜索的索引。如果索引大于或 等于数组的长度,返回-1,表示数组 不会被搜索。如果提供的索引值为负 number,它被认为是从数组末尾的偏移量。注意:如果 提供的索引为负数,仍然从前面搜索数组 回来。如果计算的索引小于0,则整个数组 将被搜索。默认值:0(搜索整个数组)。

【讨论】:

    【解决方案3】:

    0 是您开始搜索的索引。默认是0,所以不用传这个参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-07
      • 2020-06-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多