【问题标题】:What does 0 mean in indexOf?indexOf中的0是什么意思?
【发布时间】:2015-02-27 00:48:19
【问题描述】:

在编写一些 JavaScript 时,我遇到了一个新代码“indexOf”。阅读another post 后,我认为它的行为如下所示,但似乎不正确。有人能给我解释一下“indexOf”吗?

假 = -1; true = 0 或更多?

我尝试将 -1 更改为 0 或更多,但没有任何反应。只是为了更好地了解 jquery/indexOf。

我现在拥有的,

$(this).closest(row)[td_word.indexOf(keyword) !== -1 ? 'show' : 'hide']();

它从“td_word”中搜索“keyword”的匹配项, 如果它不为假(!== -1,因此为真)显示:可见;, 如果不是真(假)则显示:隐藏;。

提前致谢。

【问题讨论】:

  • 那么……问题是什么?是“为什么indexOf 有时会返回-1
  • 和 JavaScript 的 indexOf 有什么关系是关于 C# 的先前问题???
  • indexOf 不是 jQuery 方法。
  • 安德鲁,随你怎么说。然后我会问,indexOf 可以返回什么数字? (-1, 0, 1) 只有还是更多?
  • Orbit 中的Lightness Races,请问您是否有您提到的bloomin' 文档的链接?我不确定你在 C# 上说什么。我只在 Bergi 编辑之前标记了 jquery。

标签: javascript


【解决方案1】:

array.indexOf(element) 返回数组中元素的索引。也请阅读official documentation

它被设计为在元素不存在时返回-1,因为0 意味着该元素位于第0 个索引(第一个元素)中。

例子:

var array = ['a','b','c','d','e'];

array.indexOf('a') //0
array.indexOf('c') //2
array.indexOf('f') //-1, because it doesn't exist in array

根据我对您措辞的理解,我认为您认为indexOf 用于检查某个元素是否存在于数组中。这只是indexOf 的“副作用”,但它的实际用途是获取数组中元素的索引。

【讨论】:

  • 谢谢马克。你让它更容易理解!!那么所有元素都是0基索引还是取决于?目前我知道jquery中的表是一个0基索引。
  • @Maki - 默认情况下,JavaScript 中的所有数组都有从 0 开始的索引。请注意,对象不是数组。
猜你喜欢
  • 2013-05-12
  • 2015-03-20
  • 2020-01-07
  • 2018-09-10
  • 2017-05-09
  • 1970-01-01
  • 2013-05-28
  • 2018-09-25
  • 2011-05-25
相关资源
最近更新 更多