Javascript 循环不';即使有候选人存在也找不到候选人?

Javascript 循环不';即使有候选人存在也找不到候选人?,javascript,discord.js,Javascript,Discord.js,我最近开始开发一个discord机器人(使用discord.js库)。机器人的目的是在一款名为ROBLOX的游戏中找到小型服务器 我已经学习了ROBLOX api,并编写了大部分代码。 当我键入命令时,循环会在所有服务器上运行,但令我惊讶的是,它没有找到合适的候选服务器 这是我代码的一部分: result = api.responseText found = false number = parseInt(args[0]) for

我最近开始开发一个discord机器人(使用discord.js库)。机器人的目的是在一款名为ROBLOX的游戏中找到小型服务器

我已经学习了ROBLOX api,并编写了大部分代码。 当我键入命令时,循环会在所有服务器上运行,但令我惊讶的是,它没有找到合适的候选服务器

这是我代码的一部分:

        result = api.responseText
        found = false
        number = parseInt(args[0])

        for (var i = 0; i < result.length; i++){
            if(result[i].playing <= number) {
                message.reply("found candidate")
                found = true
            } else {
                if (i == result.length - 1) {
                    message.reply("no candidate found.")
                }
            }
        }
result=api.responseText
发现=错误
number=parseInt(参数[0])
对于(变量i=0;i
const filter = result.filter( (item) => item.playing <= number)
const found  = filter.lenght > 0
const filter=result.filter((项)=>item.0

有两个主要问题:

  • .responseText
    可能是一个JSON编码的字符串,而不是一个对象。这需要解析为一个对象
  • result.data
    是包含服务器数据的数组(特定于Roblox Web API),而不是
    result
    。有三个地方需要更新
这些问题可以这样解决:

    result = JSON.parse(api.responseText)
    found = false
    number = parseInt(args[0])

    for (var i = 0; i < result.data.length; i++){
        if(result.data[i].playing <= number) {
            message.reply("found candidate")
            found = true
        } else {
            if (i == result.data.length - 1) {
                message.reply("no candidate found.")
            }
        }
    }
result=JSON.parse(api.responseText)
发现=错误
number=parseInt(参数[0])
对于(var i=0;i如果(result.data[i]。播放哦,糟了!看起来图像没有加载。我将链接API本身。播放是否有可能是字符串?您是否也尝试过解析它?不,我没有,但我会尝试。数字的值是多少?这不起作用,尽管我可能误解了您,这是您的意思吗?对于(var i=0;i