检查商品数量并根据销售变量附加正确的价格,销售价格或正常价格
Check quantity of item and append correct price either Sales price or Regular price based on sales variable
任务是建立一个准确的价格计算器,根据数量计算销售价格。我已经使用 compiledCart.reduce() 方法构建了一个总价计算器,(如下)但是我不知道如何添加销售功能。
如果用户购买 1 个糖果,价格为 3.97 美元,如果用户购买 2 个,价格为 5.00 美元。 如果用户购买了 3 个,那么前两个是 5.00 美元,第三个是 3.97 美元。如果用户购买 5 个,情况相同。前 4 个是 10 美元,第 5 个是 3.97 美元
我的 compiledCart 变量如下所示:
[
0: {item: "candy", quantity: 3, price: 3.97, salesPrice: 5.00},
1: {item: "bread", quantity: 1, price: 2.17}
]
这就是我正在做的事情:
const gross = compiledCart.reduce( ( sum, { price, quantity } ) => sum + (price * quantity) , 0)
但我一辈子都想不出如何计算销售价格变量。
我试过像这样使用模数 % 运算符:
quantity % 2
但只有 return 是 1 或 0,具体取决于是否有提醒。所以购物车中的 2 颗糖果将 return 为 0,而 1 颗糖果将 return 为 1,因为 1 / 2 = 1。但我不确定如何将其用于我的事业?
如果数量大于2则:
数量除以2再乘以salesPrice
var compiledCart = [
{item: "candy", quantity: 3, price: 3.97, salesPrice: 5.00},
{item: "bread", quantity: 1, price: 2.17}
];
var sum = compiledCart.reduce((sum, { quantity, price, salesPrice = 0 }) => {
let tot = 0;
if (quantity > 1)
tot = Math.trunc(quantity / 2) * (salesPrice || price);
if (quantity % 2 == 1)
tot += price;
return sum + tot;
}, 0);
console.log(sum);
试试这个
const gross = cart.reduce((sum, {price, quantity, salesPrice = 0}) => {
let total = 0;
if (quantity >= 2) {
const saleQuantity = 2 * Math.floor(quantity / 2);
console.log({saleQuantity, remainderQuantity: quantity - saleQuantity});
total = ((saleQuantity / 2) * salesPrice) + (price * (quantity - saleQuantity));
} else {
total = (price * quantity);
}
return sum + total;
}, 0);
任务是建立一个准确的价格计算器,根据数量计算销售价格。我已经使用 compiledCart.reduce() 方法构建了一个总价计算器,(如下)但是我不知道如何添加销售功能。
如果用户购买 1 个糖果,价格为 3.97 美元,如果用户购买 2 个,价格为 5.00 美元。 如果用户购买了 3 个,那么前两个是 5.00 美元,第三个是 3.97 美元。如果用户购买 5 个,情况相同。前 4 个是 10 美元,第 5 个是 3.97 美元
我的 compiledCart 变量如下所示:
[
0: {item: "candy", quantity: 3, price: 3.97, salesPrice: 5.00},
1: {item: "bread", quantity: 1, price: 2.17}
]
这就是我正在做的事情:
const gross = compiledCart.reduce( ( sum, { price, quantity } ) => sum + (price * quantity) , 0)
但我一辈子都想不出如何计算销售价格变量。
我试过像这样使用模数 % 运算符:
quantity % 2
但只有 return 是 1 或 0,具体取决于是否有提醒。所以购物车中的 2 颗糖果将 return 为 0,而 1 颗糖果将 return 为 1,因为 1 / 2 = 1。但我不确定如何将其用于我的事业?
如果数量大于2则:
数量除以2再乘以salesPrice
var compiledCart = [
{item: "candy", quantity: 3, price: 3.97, salesPrice: 5.00},
{item: "bread", quantity: 1, price: 2.17}
];
var sum = compiledCart.reduce((sum, { quantity, price, salesPrice = 0 }) => {
let tot = 0;
if (quantity > 1)
tot = Math.trunc(quantity / 2) * (salesPrice || price);
if (quantity % 2 == 1)
tot += price;
return sum + tot;
}, 0);
console.log(sum);
试试这个
const gross = cart.reduce((sum, {price, quantity, salesPrice = 0}) => {
let total = 0;
if (quantity >= 2) {
const saleQuantity = 2 * Math.floor(quantity / 2);
console.log({saleQuantity, remainderQuantity: quantity - saleQuantity});
total = ((saleQuantity / 2) * salesPrice) + (price * (quantity - saleQuantity));
} else {
total = (price * quantity);
}
return sum + total;
}, 0);