【发布时间】:2021-09-11 15:43:32
【问题描述】:
伙计们,我有一个字母数组,我想检查一个字符串是否只包含这个字母的项目。如果不是,我的机器人会将玩家踢出游戏。我设法编写了这个脚本:
var letters =
"a b c d e f g h i j k l m n o p q r s t u v w x y z";
var arrayLetters = letters.split(/ +/);
var allLetters = arrayLetters.map((x) => x.toLowerCase());
if (!allLetters.some((x) => player.name.includes(x)) {
room.kickPlayer("Your name can't have strange fonts");
}
实际上,这可行,但名称根本不包含字母。
例如,???????????????????? 会被踢出,但????????nda 不会,因为有一些字母是数组的一部分。我该如何解决这个问题?我还想在我的数组中保留只包含这些字母的玩家。
非常感谢您的回答!
【问题讨论】:
-
这能回答你的问题吗? stackoverflow.com/questions/23476532/…
-
您检查的是字符串是否包含数组的至少一个元素。例如,
player.name = ["2","a"]将始终返回`true`,因为至少有要检查相等性的对象,因此您的检查效率不高。
标签: javascript arrays sorting