【问题标题】:How do i check if input is a number (any number) in an array我如何检查输入是否是数组中的数字(任何数字)
【发布时间】:2020-07-08 04:11:38
【问题描述】:
我正在制作一个阻止用户谈论年龄的机器人,但我有一个问题,我不知道如何解决。如果用户输入“我是(数字)”,它应该回复“不要在这里谈论年龄!”。
这是我的代码(我需要帮助的部分)。
var age = ['how old', 'how old am i', 'how old are you', `i am ${!NaN}`];
if (age.includes(message.content)) {
message.reply('Don't talk about age here!')
}
i am ${!Nan} 应该是任意数字,但它不起作用。
【问题讨论】:
标签:
javascript
arrays
discord
discord.js
【解决方案1】:
试试这个功能
Number.isInteger(值)
它将检查一个数字是否为整数,如果是则返回true,否则返回false。
让我知道这是否有效:)
【解决方案2】:
对于正则表达式,您可能想尝试类似的方法:
var age = ['how old', 'how old am i', 'how old are you', 'i am 10'];
if (age[3].match(/(\d+)/)!=null) {
console.log("Don't talk about age here!")
}
【解决方案3】:
您可以使用正则表达式在输入字符串中查找数字(数字)字符。
const containsNumber = (str) => /\d/.test(str)
const result1 = containsNumber('I am 25 years old.')
console.log(result1) // true
const result2 = containsNumber('My age is a secret.')
console.log(result2) // false
而模板字面量语法如下:
const myAge = 39
const myString = `I am ${myAge} years old.`
console.log(myString)