Javascript 一对多对象关系

Javascript 一对多对象关系,javascript,arrays,json,object,discord.js,Javascript,Arrays,Json,Object,Discord.js,嗨,我有一个对象数组试图使用discord创建聊天机器人,所以在某些情况下,一个输入给我的比输出多,但我很挣扎,这是我的数组 let message = [{ "message": "hi", "reply": "1-order 2-inquiry 3-complain" }, { "message": "1",

嗨,我有一个对象数组试图使用discord创建聊天机器人,所以在某些情况下,一个输入给我的比输出多,但我很挣扎,这是我的数组

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时,聊天机器人将以特定的回答进行响应,这意味着一个输入有多个输出,那么我如何才能做到这一点


非常感谢。

您可以使用
数组。查找
,它返回数组中与我们的条件匹配的第一项。
我们可以这样实现它

const input = '1'; // we assume the input was '1'

const output = message.find(q => {
    return (q.message === input);
});

console.log(output.reply);
来,试试看

let消息=[
{
“留言”:“你好”,
“回复”:“1-订单2-查询3-投诉”
},
{
“消息”:“1”,
“回复”:“请澄清您的地址”
},
{
“信息”:“2”,
“回复”:“约1-配送时间2-配送费用”,
“答复”:{
"一:"由上午八时至晚上十一时,,
"2": "10$"
}
},
{
“信息”:“3”,
“回复”:“1-过期产品2-其他”,
“答复”:{
“1”:“请澄清产品名称”,
“2”:“请留下评论”
}
}
];
常量输入='1';//我们假设输入为“1”
常量输出=消息。查找(q=>{
返回(q.message==输入);
});
console.log(output.reply)