首页 > 解决方案 > 如何从 JSON 中的 API 调用中获取最高(也是最后一个)数字?

问题描述

我正在为 Discord 机器人使用packet.tf API。我目前正在尝试发出价格命令,使用 API 来查找商品的价格。API 不会返回当前价格,而是返回所有价格更新,如下所示。

在此处输入图像描述

只有此调用 (85) 中的最后一个值当前是正确和更新的。我用来发送和记录结果的代码如下:

const Discord = require("discord.js");
const superagent = require("superagent");
String.prototype.toProperCase = function() {
    return this.replace(/\w\S*/g, function(txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); });
};
module.exports = {
    run: async(client, message, args) => {
        let item = args[0]
        let quality = args[1]
        let { body } = superagent
            .get(`https://backpack.tf/api/IGetPriceHistory/v1?appid=440&item=${item}&quality=${quality}&tradable=Tradable&craftable=Craftable&priceindex=0&key=5eeea0c9c995374dc219a4e2`);
        message.channel.send(new Discord.MessageEmbed()
            .setTitle(`Price info of ${item.toProperCase()} (${quality.toProperCase()})`)
            .setDescription(`${response.history[HIGHESTNUMBER].value} refined metal`)
        )
    },
    aliases: ["price", "gp"]
}

代码中HIGHESTNUMBER显示的位置是我需要返回的 JSON 中的最高数字的位置。如果以及如何能够完成此任务?谢谢。

标签: javascriptnode.jsjsondiscord.js

解决方案


推荐阅读