在检查数组中的字符串时如何删除区分大小写?

时间:2017-10-25 03:58:11

标签: javascript arrays case-sensitive

我会保持简短。我正在制作基于聊天的JavaScript游戏。我有一个名为classes的数组:

const classes = ["brute", "medic", "ranger"];

其次,我有一个if声明:

if (classes.includes(target)) {
    this.sendReply('Successful.');
} else {
    this.errorReply('"' + target + '"' + ' is not a valid class.');
}

所以基本上,它应该做的是,如果“目标”(这是玩家输入的类的名称)类型在军医,暴力或游侠中作为类,它将返回“成功”。

现在,这有效,但问题是它区分大小写。例如,如果我输入“medic”,它将返回Successful,但如果我输入“Medic”,它将返回“Medic不是有效的类”。

如何删除此区分大小写?我真的不想在阵列中添加“军医”,“军医”,“游侠”,“游侠”等等。谢谢!

4 个答案:

答案 0 :(得分:3)

在检查之前,将字符串转换为小写,如下所示:

classes.includes(target.toLowerCase())

答案 1 :(得分:2)

在将字符串传递给if语句之前,请使用PushNotification.configure({ onRegister: function(token) { UserStore.storeDeviceToken(token) }, onNotification: function(notification) { if (notification) { PushHandler.notificationReceived(notification) } }, permissions: { alert: true, badge: true, sound: true }, popInitialNotification: true, userInteraction: true, requestPermissions: true }) 方法。

toLowerCase

或者

if (classes.includes(target.toLowerCase())) {
    this.sendReply('Successful.'); 
} else { 
    this.errorReply('"' + target + '"' + ' is not a valid class.');
}

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLowerCase

答案 2 :(得分:1)

在检查之前将字符串转换为小写

答案 3 :(得分:0)

您可以使用带有i标志的正则表达式来忽略大小写。