我遇到了nodejs脚本的问题 TypeError:无法读取未定义
的属性'forEach'部分代码
var API_KEY = '481------------------bae55a0';
var totp = new TOTP('6------UCWLJOL');
var code = totp.now();
var prices;
request('https://bitskins.com/api/v1/get_all_item_prices/?api_key='+API_KEY+'&code='+code+'', function(error, response, body) {
prices = JSON.parse(body);
var newprice = JSON.parse('{"response":{"success":1,"current_time":1464567644,"items":{}}}');
prices.forEach(function (item) {
newprice.response.items[item.market_hash_name] = {
"value": item.price*1000
}
});
fs.writeFileSync('/var/www/prices.txt', JSON.stringify(newprice));
logger.trace('New prices loaded');
});
答案 0 :(得分:-3)
如果forEach
未定义,则因为值prices.prices
不存在。请记住,如果价格是数组,你应该提高杠杆,你不需要prices.prices
,只需
prices.forEach(function (item) {
newprice.response.items[item.market_hash_name] = {
"value": item.price*1000
}
但是,如果值prices
内部包含太多数组对象,则必须使用括号表示法选择对象。
prices[index].forEach(function (item) {
newprice.response.items[item.market_hash_name] = {
"value": item.price*1000
}