如何检查用户输入是否等于数组中的某个值?

我目前正在制作一个简单版本的聊天机器人,但我的代码有一些问题。我想检查用户输入是否等于我数组中的值。我目前拥有的看起来像这样:


var digibord = [

    {

        name: ["digibord","smartboard","schoolbord"]

    }

]


function handleMessage(message) {

    if (message.includes(digibord)) {

        Digibord();

    }

}

如您所见,我对javascript几乎没有经验,因此可以使用一些帮助...


拉风的咖菲猫
浏览 189回答 3
3回答

沧海一幻觉

您可以简单地使用forEach:var digibord = [    {        name: ["digibord","smartboard","schoolbord"]    }];function handleMessage(message) {    digibord.forEach((value, index) => {        if (value.name.includes(message)) {            //Digibord();            console.log(message);        }    });}handleMessage("digibord");

杨__羊羊

我认为对于聊天机器人,您可能想要使用正则表达式var digibord = [{    name: ["digibord","smartboard","schoolbord"]}];function handleMessage(message) {    for (item in digibord[0].name) {        var re = new RegExp( item, "g" );        if (re.test(item)) {           // Do whatever you want        }    }}

潇湘沐

只是为了帮助你一点:你的 digibord 是一个对象数组 - 在你的情况下只有一个对象。对象成员“名称”是名称的数组。要处理这个名称数组,您需要:digibord[0].name,如 teeyo 示例所示。“包含”是 Array 的一种方法。因此,您的代码可能如下所示: var digibord = [    {        name: ["digibord","smartboard","schoolbord"]    }];function handleMessage(message) {if (digibord[0].name.includes(message)) {    Digibord();  }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript