试图理解JavaScript中array.IndexOf()的功能

时间:2017-01-13 21:07:15

标签: javascript arrays

据我所知,array.indexOf()函数为您提供了Array中特定元素的索引。

如果找到Element,Array.indexOf()将返回该元素在数组中的位置。

如果找不到Element,Array.indexOf()将返回-1作为输出。

但是,我试图了解以下场景中的输出。

var arr = [2,3,4,5,7,5];

for(var i =0;i<arr.length;i++) {
  console.log(arr.indexOf(i));
}

输出:

-1 -1 0 1 2 3

根据逻辑,当它找到2和3时,它不应该在控制台中返回-1。

按照输出顺序,我明白数组索引0从元素4开始?为什么会这样?

我只是想了解发生了什么?任何帮助将受到高度赞赏。

1 个答案:

答案 0 :(得分:3)

-1表示在目标数组中找不到该值。 0表示该值在数组中的位置0处找到,依此类推。

因此,当循环中的i = 2时,它会在2中的0位置找到值arr

供参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf