我正在为 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" 数组中列出的项目的单个价格,但是我如何将它们的每个价格相加以创建总价?
尝试:
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);
}
});
目前我正在尝试创建一个 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" 数组中列出的项目的单个价格,但是我如何将它们的每个价格相加以创建总价?
尝试:
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);
}
});