据我所知,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开始?为什么会这样?
我只是想了解发生了什么?任何帮助将受到高度赞赏。
答案 0 :(得分:3)
-1表示在目标数组中找不到该值。 0表示该值在数组中的位置0处找到,依此类推。
因此,当循环中的i = 2
时,它会在2
中的0
位置找到值arr
。
供参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf