我正在为 Steam 交易创建一个机器人,在添加数组值时遇到了一些问题

I'm creating a bot for steam trading, having some trouble adding up array values

目前我正在尝试创建一个 Steam 交易机器人,它只在收到的物品比收到的物品更有价值时才接受报价......

var market = require('steam-market-pricing');

var names = [
    'AWP | Safari Mesh (Factory New)',
    'AWP | Safari Mesh (Minimal Wear)',
    'AWP | Safari Mesh (Field-Tested)',
    'AWP | Safari Mesh (Well-Worn)',
    'AWP | Safari Mesh (Battle-Scarred)'
];




market.getItemsPrice(730, names, function(data) {
    for(var i in names) {
        console.log(names[i] + data[names[i]]['median_price']);
    }
});

上面的代码可以找到我在 "names" 数组中列出的项目的单个价格,但是我如何将它们的每个价格相加以创建总价?

Here's the package I used to find prices

尝试:

var total = 0;
for(var i in names) {
    total += parseFloat(data[names[i]]['median_price']);
}
console.log(total);

尝试分配

var temp = data[names[i]]['median_price'].substring(1);

您的代码无法运行的原因?

由于字符串在价格之前包含货币符号,因此您在尝试执行此代码时得到了结果 "NaN"。

parseFloat(data[names[i]]['median_price'])

解决方案

var temp = data[names[i]]['median_price'].substring(1);

这将从字符串的开头删除货币符号。

我修改了 Snuckus 的代码以包含该代码。我一开始就提到了。这肯定会给出总数。

market.getItemsPrice(730, names, function(data) {
    var total = 0;
    for(var i in names) {
        var temp = data[names[i]]['median_price'].substring(1);
        total += parseFloat(temp);
        console.log(total);
    }
});