如何修复string.replace不是nodejs中的函数

时间:2017-11-10 18:49:56

标签: node.js

我有一些数据,想要用我目前正在使用下面代码的空格替换$

variable - theirValue = data.lowest_price.replace("$",'').trim();

.replace有问题,并说data.replace不是函数

以下是它所在位置的完整代码

const market = require('steam-market-pricing');
theirValue= 0;

market.getItemsPrice(730, 'MP9 | Storm (Minimal Wear)', function(data) {
    console.log(data);
    theirValue += data.lowest_price.replace("$",'').trim()
})

上面的代码返回的是以json格式

{ 'MP9 | Storm (Minimal Wear)':
{ success: true,
 lowest_price: '$0.05',
 volume: '185',
 median_price: '$0.03' } }

这就是在文件中我是如何在代码中得到它我正在做的物品的蒸汽市场价格我代替p90名称,但我希望它只显示价格(例如1.00)不是$ price(例如$ 1.00) 它在控制台中说替换不是函数

1 个答案:

答案 0 :(得分:0)

问题在于:

data['MP9 | Storm (Minimal Wear)'].lowest_price // '$0.05'
data.lowest_price                               // undefined

market.getItemsPrice()是否应该使用第二个参数返回包含lowest_price的对象?

您的评论提出了关于JavaScript中类型转换的第二个问题。请记住,lowest_price存储为字符串。当添加两个不同的类型 - 数字和字符串 - 它将尝试转换值,如果它可以:

theirValue += '0.05'                 // number + string --> string: '00.05'
theirValue += parseFloat('0.05', 10) // number + number --> number: 0.05
theirValue += +'0.05'                // number + number --> number (unary operator)