我有以下问题将多个对象值连接成一个数组!
我目前的代码:
const coins = [];
Object.keys(prices).forEach((key) => {
coins.push(prices[key]);
console.log("prices", prices);
console.log("prices[key]", prices[key]);
console.log("coins", coins);
});
输出:
prices { ETH: { USD: 1332.03 }, BTC: { USD: 14602.09 } }
prices[key] { USD: 1332.03 }
coins [ { USD: 1332.03 } ]
prices { ETH: { USD: 1332.03 }, BTC: { USD: 14602.09 } }
prices[key] { USD: 14602.09 }
coins [ { USD: 1332.03 }, { USD: 14602.09 } ]
需要做什么:
coins = [ 1339.64, 14617.95 ]
我只需要用它们对它们进行数学运算。
答案 0 :(得分:3)
推送USD
属性可以:
coins.push(prices[key].USD);
但你可以做得更好:
Object.values(prices).map(price => price.USD);
答案 1 :(得分:1)
正如评论中所述,推动美元价格而不是整个对象:
const coins = [];
const prices = {
ETH: {
USD: 1332.03
},
BTC: {
USD: 14602.09
}
};
Object.keys(prices).forEach((key) => {
coins.push(prices[key].USD); /* <- here is the change, add the key of the price */
console.log("prices", prices);
console.log("prices[key]", prices[key]);
console.log("coins", coins);
});