indexOf在数组中搜索

时间:2017-05-06 21:05:54

标签: javascript arrays

我的代码:

currentName = "Black";

const bannedItems = [
"Green",
"Yellow",
"Black",
"White"
];

当我在控制台中键入此内容时,我得到错误:

(currentName.indexOf(bannedItems) != -1);

但是当我尝试这个时,我得到了真的:

(currentName.indexOf("Black") != -1);

这意味着我不能使用数组吗?这就是我现在这样做的方式,我认为有更优雅的方式

if ((currentName.indexOf("Green") != -1 || currentName.indexOf("Yellow") != -1 || currentName.indexOf("Black") != -1 || currentName.indexOf("White") != -1)) return;

3 个答案:

答案 0 :(得分:0)

只需交换bannedItemscurrentName

bannedItems.indexOf(currentName)

方法indexOf是字符串和数组中固有的。

您的currentName.indexOf("Black")会返回true,因为字符串“Black”确实包含字符串“Black”。

答案 1 :(得分:0)

变量的正确顺序:

bannedItems.indexOf(currentName) != -1

答案 2 :(得分:0)

indexOf()方法返回字符串中第一次出现指定值的位置。

如果要搜索的值永远不会发生,则此方法返回-1。

注意: indexOf()方法区分大小写。