function priceDiscountSeries(originalPrice, discountSeries) { let netPrice = originalPrice; for (let i = 0; i < discountSeries.length; i++) { netPrice = originalPrice * (1 - discountSeries[i]); } return netPrice;}console.log(priceDiscountSeries(94_500, [0.40, 0.10, 0.05]));我想做的是将结果保存在变量上,然后使用该变量返回另一个结果,该结果再次保存在变量本身上。它查找折扣系列中的价格结果。它应该返回 48,478.5 作为净价,但实际上返回[Running] node "c:\Users\neoxe\Desktop\disCompute.js"89775[Done] exited with code=0 in 0.539 seconds
2 回答
长风秋雁
TA贡献1757条经验 获得超7个赞
只需替换:
netPrice = originalPrice * (1 - discountSeries[i]);
和
netPrice *= (1 - discountSeries[i]);
应该给你你正在寻找的结果。
但是,您可以使用reduce来执行相同的操作,使用一个简单的箭头函数来表示价格折扣:
const priceDiscount = (price, discount) => price * (1 - discount);
const discountSeries = [0.40, 0.10, 0.05];
console.log(discountSeries.reduce(priceDiscount, 94_500));
慕的地6264312
TA贡献1817条经验 获得超6个赞
这样做会将您的值保存到 netPrice,或者您可以创建一个数组来保存它 netPrice = netPrice + OriginalPrice * (1 -discountSeries[i]); array[i]=originalPrice * (1 -discountSeries[i]);
添加回答
举报
0/150
提交
取消