【问题标题】: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)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-12-04
        • 2013-06-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-19
        • 1970-01-01
        相关资源
        最近更新 更多