水果的价格在对象prices中定义,而水果的库存数量在stocks中。

问题:您如何找到所有水果的总价值?使用for.. in,我可以访问stocks中的值,但是访问prices的值时遇到问题。

prices = {'appleusd': 1, 'orangeusd': 10};
stocks = {'apple': 100, 'orange': 20};

totalValue = 0;

for (stock in stocks){
    totalValue += stocks[stock] + prices[stock+'usd'];
}

console.log(totalValue);

最佳答案

由于在pricesstocks中找到的密钥不同,因此必须将usd附加到库存密钥上才能获得正确的价格。然后,您需要将价格乘以库存数量,并在每次迭代中将结果添加到totalValue中:

prices = {'appleusd': 1, 'orangeusd': 10};
stocks = {'apple': 100, 'orange': 20};

totalValue = 0;

for (var stock in stocks){
    totalValue += stocks[stock] * prices[stock + 'usd'];
}

console.log(totalValue); // 300


编辑:看来,自从我第一次发布此内容以来,您已经编辑了代码以解决我在这里提出的一些问题。唯一剩下的错误是您的代码将两个值相加而不是相乘。

09-18 03:16