如何解决一对多对象关系
嗨,我有一个对象数组试图使用不和谐来创建聊天机器人,因此在某些情况下,一个输入给我的收益大于输出,但是我很挣扎,这是我的数组
let message = [{
"message": "hi","reply": "1-order 2-inquiry 3-complain"
},{
"message": "1","reply": "please clarify your address"
},{
"message": "2","reply": "about 1-delivery time 2-delivery fees","response": {
"1": "from 8 am to 11 pm","2": "10$"
}
},{
"message": "3","reply": "1-expired products 2-other","response": {
"1": "please clarify the product name ","2": "please leave a comment"
}
}
]
这里的问题是如何指定当我输入1时,聊天机器人会以特定的答复进行响应,这意味着一个输入有很多输出,所以我该怎么做
非常感谢。
解决方法
您可以使用Array.find
返回与我们的条件匹配的数组中的第一项。
我们可以这样实现
const input = '1'; // we assume the input was '1'
const output = message.find(q => {
return (q.message === input);
});
console.log(output.reply);
在这里尝试
let message = [
{
"message": "hi","reply": "1-order 2-inquiry 3-complain"
},{
"message": "1","reply": "please clarify your address"
},{
"message": "2","reply": "about 1-delivery time 2-delivery fees","response": {
"1": "from 8 am to 11 pm","2": "10$"
}
},{
"message": "3","reply": "1-expired products 2-other","response": {
"1": "please clarify the product name ","2": "please leave a comment"
}
}
];
const input = '1'; // we assume the input was '1'
const output = message.find(q => {
return (q.message === input);
});
console.log(output.reply);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。