JavaScript购物车的实现
// 购物车类
class ShoppingCart {
constructor() {
this.items = []; // 购物车中的商品列表
}
// 添加商品到购物车
addItem(item, quantity) {
const cartItem = this.items.find(i => i.product.id === item.id);
if (cartItem) {
cartItem.quantity += quantity;
} else {
this.items.push({
product: item,
quantity: quantity
});
}
}
// 从购物车中移除商品
removeItem(item) {
this.items = this.items.filter(i => i.product.id !== item.id);
}
// 清空购物车
clearCart() {
this.items = [];
}
// 获取购物车中商品的总数
getItemCount() {
return this.items.reduce((total, item) => {
return total + item.quantity;
}, 0);
}
// 获取购物车的总价
getTotalPrice() {
return this.items.reduce((total, item) => {
return total + (item.product.price * item.quantity);
}, 0);
}
}
// 示例使用购物车类
const cart = new ShoppingCart();
cart.addItem({ id: 1, name: 'Apple', price: 0.60 }, 2);
cart.addItem({ id: 2, name: 'Banana', price: 0.20 }, 5);
console.log(cart.items); // 查看购物车中的商品
console.log(cart.getItemCount()); // 获取商品总数
console.log(cart.getTotalPrice()); // 获取总价
这段代码定义了一个简单的ShoppingCart
类,并实现了购物车的基本功能,如添加商品、移除商品、清空购物车以及计算商品总数和总价。这个类可以作为开发者实现更复杂购物车功能的基础。
评论已关闭