indexOf有多个参数

use*_*133 3 javascript arrays indexof

indexOf在数组上确定时是否可以使用多个参数?

我想确定我的数组是否包含三个整数中的任何一个.重要的是要注意在这个阶段,数组只有一个值(如果它有更多,它将不会到达此代码块).

array.indexOf(123 || 124 || 125) === 0
Run Code Online (Sandbox Code Playgroud)

所以,如果array = [123]那时我indexOf应该0这样做true.

如果array = [124]那时我indexOf应该是0因此true.

我发现正在发生的[123]工作正常但是它甚至没有费心去检查indexOf第二个或第三个参数,而只是返回false.

http://codepen.io/anon/pen/WxmyGp?editors=0011

Que*_*tin 10

||运算符返回左边如果这是真的,否则返回右侧.123 || 124 || 125只是意味着123.

如果要测试数组中是否有多个值,则必须依次测试每个值.

array.indexOf(123) == 0 || array.indexOf(124) == 0 || array.indexOf(125) == 0 
Run Code Online (Sandbox Code Playgroud)

既然您只关心数组的一个特定索引,那么您可以将整个事情放在首位:

[123, 124, 125].indexOf(array[0]) > -1
Run Code Online (Sandbox Code Playgroud)