var y = [1,2,3];
(y.indexOf(1) > -1) ? console.log(true) : '';
为什么上面的代码不起作用?我认为可以在y中检查1是一个数组吗?
答案 0 :(得分:3)
indexOf
基于零,作为数组和字符串的所有索引。如果某个项不在数组中,则返回-1
,否则返回该项的索引。
var y = [1, 2, 3];
console.log(y.indexOf(1) !== -1);
答案 1 :(得分:0)
indexOf
返回数组中值的第一个匹配位置。
1
出现在0
位置。
0 > 1
是false
。
您需要测试位置是否大于-1
,以查看它是否出现在数组中。
自撰写此答案以来,该问题已经过编辑以使用-1
。问题中的代码现在可以正常工作。
答案 2 :(得分:0)
这是因为JS索引从第0位开始。
所以1
排在第0位,2
排在第1位,依此类推