得到了那段代码:
var itemGrid = [3,4,2,11,1,3,5,8,6];
var a = itemGrid.indexOf(0);
a每次都是-1
。它应该是3
。我做错了什么?
答案 0 :(得分:5)
答案 1 :(得分:3)
这是因为0
不是初始数组中的值。
然后该函数返回-1。 (see docs)
indexOf()方法返回可在数组中找到给定元素的第一个索引,如果不存在则返回-1。
要返回索引0处的值,请使用itemGrid[0]
重要提示:
IE8及以下版本不支持 .indexOf()
,请注意您是否计划支持这些浏览器。
答案 2 :(得分:2)
0不是该数组的元素。 所以它的索引返回-1;
可能你想拥有 itemGrid [0] 将返回3
答案 3 :(得分:1)
应该是:
itemGrid[0]
indexOf(0)会返回数组中值0的位置,但数组中没有0。
答案 4 :(得分:1)
indexOf
返回找到的元素的索引。这里返回-1
,因为在数组中找不到0。
注意: indexOf
会找到元素的位置(如果找到),因此当您执行itemGrid.indexOf(0);
时,表示您正在寻找元素的位置< strong>'0',这在您的数组中不存在,因此返回-1
答案 5 :(得分:1)
a每次都是-1。它应该是3.我做错了什么?
class SomeOtherController < ApplicationController
before_filter :get_offer, :only => [:action_c, :action_d, :action_e]
before_filter ::validate_api_v2, :only => [:action_c, :action_d]
end
答案 6 :(得分:0)
array.indexOf(n)返回数组中n的位置。如果n不在数组中,则返回-1。在这种情况下,0不存在,所以-1。
而array [n]返回数组中第n个位置的值
答案 7 :(得分:0)
数组中不存在“0”,因此它将返回-1。
答案 8 :(得分:0)
IndexOf
(IndexOf<T>(T[], T))
搜索指定的对象,并在一维数组中返回其第一次出现的索引。
您的示例尝试查找返回-1的第一个索引0,表示找不到0&#39;
要返回数组中的第一个索引,请使用索引器ItemGrid[0]