【问题标题】:Command that searches in arrays | problem with discord.js在数组中搜索的命令 | discord.js 的问题
【发布时间】:2021-07-14 15:23:36
【问题描述】:

嘿,我想发出一个命令,在 http 请求的数组中搜索,并根据我在命令中调用的日期获取我想要的值。

例如:!day Monday,打印:Nutrition for money: {数组内容}

*http 请求的链接是这样的:“http://IP:PORT/nutrition.json”

这是 http 请求将在链接中打印的列表:

             [
                
                {
                    "Day":"Monday",
                    "id":1,
                    "Nutrition":[
                        "apple",
                        "banana",
                        "spaghetti",
                        "buritto",
                    ],
                    "name":"George",
                    "lastName": "Brown"
                },

                {
                    "Day":"Tuesday",
                    "id":2,
                    "Nutrition":[
                        "apple",
                        "banana",
                        "spaghetti",
                        "buritto",
                    ],
                    "name":"George",
                    "lastName": "Brown"
                },

            ]

这里是代码:

bot.on("message", (message) => {
        
        let args = message.content.substring(prefix.length).split(" ");

        
        if (message.content.startsWith("!day")) {
            

            const list = [
                
                {
                    "Day":"Monday",
                    "id":1,
                    "Nutrition":[
                        "apple",
                        "banana",
                        "spaghetti",
                        "buritto",
                    ],
                    "name":"George",
                    "lastName": "Brown"
                },

                {
                    "Day":"Tuesday",
                    "id":2,
                    "Nutrition":[
                        "apple",
                        "banana",
                        "spaghetti",
                        "buritto",
                    ],
                    "name":"George",
                    "lastName": "Brown"
                },

            ]


            const DAY = args[1]
        

            
            request.get("http://IP:PORT/nutrition.json", function(err, response, body, text){
                
            
                if (body.includes(args[1])) {

                   
                    
                    
                        // SEARCH THE ARRAYS IN THE BODY OF THE HTTP REQUEST

                    
                    

                } else {
                    message.channel.send("`❌` There is no day with specific nutrition.")
                }


            })
            
                


            


            

            
        }



    });

【问题讨论】:

    标签: javascript node.js arrays discord.js command


    【解决方案1】:

    您好,您几乎得到了正确的代码。

    const DAY = args[1]    
    var found = list.find(function(elem) {
                  if(elem.day == DAY) {
                    return elem.nutrition
                  }
                 })
    if (!found) {
      message.channel.send("`❌` There is no day with a specified nutrition.")
    } else {
     // DO WHAT EVER YOU NEED TO DO WITH YOUR NUTRITION OBJECT
    }                  
    
    
                    
                 
    

    【讨论】:

    • 嘿,您的回答非常有用,但是如果我将它们上传到 vps 并且必须像 http:IP:PORT/nutrition.json... find 不是一个函数... thnx 再次:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-09
    • 2020-04-06
    • 2020-12-29
    • 2020-08-24
    • 1970-01-01
    • 1970-01-01
    • 2020-06-16
    相关资源
    最近更新 更多