使用关键字查找JSON文件中的最佳匹配项

时间:2017-12-12 17:28:27

标签: javascript arrays json parsing keyword

我不知道如何解释,我不知道是否可能,因为我在互联网上找不到我想要的东西。

例如,我有这个命令的JSON

{
    "gif": [
      "gif","show","bot"
    ],
    "doc": [
      "show","doc","bot"
    ],
    "weather": [
      "show","actual","weather"
    ]
}

用户输入以下消息:

“您好机器人能告诉我实际的天气吗?”

我如何编写代码,我的函数将返回命令(在本例中为“weather”),其中包含用户消息中的最佳关键字匹配?

希望我的问题有点清晰

谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用Object.keys来迭代JSON,然后使用array#every来检查字符串中每个单词的存在性,使用字符串#include。 var keyWords = {“gif”:[“gif”,“show”,“bot”],“doc”:[“show”,“doc”,“bot”],“weather”:[“show”,“实际“,”天气“]}; var message =“您好机器人能告诉我实际天气吗?”; var result = Object.keys(keyWords).find(k =>   keyWords [k] .every(word => message.includes(word))); 的console.log(结果);