javascript中数组的indexOf方法

时间:2017-01-02 14:35:22

标签: javascript

var y = [1,2,3];
(y.indexOf(1) > -1) ? console.log(true) : ''; 

为什么上面的代码不起作用?我认为可以在y中检查1是一个数组吗?

3 个答案:

答案 0 :(得分:3)

indexOf基于零,作为数组和字符串的所有索引。如果某个项不在数组中,则返回-1,否则返回该项的索引。

var y = [1, 2, 3];
console.log(y.indexOf(1) !== -1);

答案 1 :(得分:0)

indexOf返回数组中值的第一个匹配位置。

1出现在0位置。

0 > 1false

您需要测试位置是否大于-1,以查看它是否出现在数组中。

自撰写此答案以来,该问题已经过编辑以使用-1。问题中的代码现在可以正常工作。

答案 2 :(得分:0)

这是因为JS索引从第0位开始。

所以1排在第0位,2排在第1位,依此类推