检查数组,是否每2个元素缺少一个值

时间:2018-07-11 19:51:14

标签: node.js discord.js

我有and从字符串数组。 当我从字符串中获取值时,我会拆分字符串,从而得到一个数组。

如果我输入命令:

.command 12 Test 1 Test1 2 Test3 and so on

然后我得到:['12', 'Test', '1', 'Test1', '2', 'Test3']

这很好,但是我不知道如何检查12、1、2是整数还是普通文本,以及在数字之后是否也输入了文本。 我当然可以在If语句中这样做,但是那将是很长的代码。

  • 所以我需要检查第一个值是否为数字
  • 我需要检查给定的第一个值,然后该成员是否也给bot文本了。
  • 第三个值是否为数字
  • 给定第四个值(如果给定数字)
  • 依此类推。

我该怎么做?

2 个答案:

答案 0 :(得分:0)

这将检查您的第一个数字(如果不是)。如果是,那么它将检查下一个值是否为字符串。希望对您有所帮助。

>>> sorted(a, key=Sorter)
[('Yana', 'Anja', 10, 0),
 ('Kolia', 'Alexey', 10, 0),
 ('Vasia', 'Katia', 3, 0),
 ('Petia', 'Anja', 3, 0),
 ('Petia', 'Katia', 3, 0)]

答案 1 :(得分:0)

。命令12测试1测试

命令args [0] args [1] args [2] args [3]

我会做的:

if (!isNan(args[0] && args[2]) && isNaN(args[1] && args[3])) {
    // code here for if the two args are numbers and the other args are not numbers which you want them to be as text..
} else {
    // code here if one of the args is wrong.
}

此方法非常简单,但是如果您的命令中包含许多args,则建议您为要成为数字的args创建一个ArrayList,为要成为文本的args创建一个ArrayList。然后在循环中创建一个条件,或使用.filter()函数检查每个ArrayList中的数字是否为数字,然后找到所有内容,请执行以下代码。