javascript - JavaScript 2D 数组,如果输入 RegEx 匹配 col1 ,则返回 col2
问题描述
我试图设置一个聊天机器人,当用户输入匹配某个单词时,它会做出相应的响应。
这行得通
var input = "i love you";
if(/.*cute.*/.test(input)) { alert("Aw.... so sweet");}
if(/.*love.*/.test(input)) { alert("Love you too");}
//result "Love you too"
但是,我怎样才能将数据放在一个数组中并且仍然可以工作?
例子:
var queryResponse = [ ["cute","Aw.... so sweet"],
["love","Love you too"] ];
如何修改这一行?
if(/.* (what should i insert here?) .*/.test(input)) { alert(So that the response appear here?);}
解决方案
每个键和值的索引应该匹配
var keys=['cute','love'];
var values= ['so cute', 'i love you'];
for(var i = 0; i < keys.length ; i++){
let re = new RegExp(`.*${keys[i]}*.`);
if(re.test(input){
alert(values[i]);
break;
}
}
推荐阅读
- ios - UINavigationController push 方法在动画完成之前加载下一个 VCs 元素
- php - 页面关闭后继续 php exec() ffmpeg
- python - 我可以在使用 with 之前定义和设置上下文管理器吗
- flutter - Flutter:从另一个类调用 SetState()
- spring - Spring Authentication中登录后的重定向(环境问题,Tomcat vs Jetty)
- python - 使用 rpy2 rpy2.robjects.vectors.DataFrame 反斜杠解码错误字节 0xb0
- php - php curl_exec 没有输出任何东西
- autodesk-viewer - 具有多个模型的 loadDocumentNode
- sql - 保留关键字 * 如何在 sql 中工作
- php - 从用户角色类型到页面的 php 链接