无法读取'forEach'属性

时间:2017-11-29 13:21:23

标签: javascript json node.js

我遇到了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');
});

1 个答案:

答案 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
        }