Javascript 订单确认时,如何从订单数量中减去可用数量?
首先,我不是真的喜欢硬编码,我真的试图寻找解决我问题的方法,但我没有得到一些解释 我的购物车中有三个数据产品,即产品详细信息和从firestore订购的数据。我需要从购物车数据中的产品中的产品详细信息中减少可用数量,并更新firestore中的可用数量 购物车中的产品数据:Javascript 订单确认时,如何从订单数量中减去可用数量?,javascript,firebase,vue.js,google-cloud-firestore,Javascript,Firebase,Vue.js,Google Cloud Firestore,首先,我不是真的喜欢硬编码,我真的试图寻找解决我问题的方法,但我没有得到一些解释 我的购物车中有三个数据产品,即产品详细信息和从firestore订购的数据。我需要从购物车数据中的产品中的产品详细信息中减少可用数量,并更新firestore中的可用数量 购物车中的产品数据: var Cart= [{ ProdName : "Smartphone", ProdID : "0n7TZQrgpbfs8hPDKc7n", ProductQuanti
var Cart= [{
ProdName : "Smartphone",
ProdID : "0n7TZQrgpbfs8hPDKc7n",
ProductQuantity : 2,
ProductPrice : 1500
},{
ProdName : "Charger",
ProdID : "11VOxRvH2dc8cxyR4AYG",
ProductQuantity : 1,
ProductPrice : 600
}];
产品详细信息数据
var Products= [{
Name : "Smartphone",
ID : "0n7TZQrgpbfs8hPDKc7n",
AvailableQuantity : 100,
Price : 1500,
Category : "Tech"
},{
Name : "Charger",
ID : "11VOxRvH2dc8cxyR4AYG",
AvailableQuantity : 150,
Price : 600,
Category : "Tech"
}];
var Order= {
UserName : "Rakesh",
UserID : "CcojGJPh3mIyoCZmParw",
OrderID :"H2Fbh3jTQ2XL7B9ttXBz",
UserPhone : 9840184150,
PlacedDate: "date",
ProductsPlaced : [
{
ProdName : "Smartphone",
ProdID : "0n7TZQrgpbfs8hPDKc7n",
ProductQuantity : 2,
ProductPrice : 1500
},{
ProdName : "Charger",
ProdID : "11VOxRvH2dc8cxyR4AYG",
ProductQuantity : 1,
ProductPrice : 600
}
]
};
下订单数据
var Products= [{
Name : "Smartphone",
ID : "0n7TZQrgpbfs8hPDKc7n",
AvailableQuantity : 100,
Price : 1500,
Category : "Tech"
},{
Name : "Charger",
ID : "11VOxRvH2dc8cxyR4AYG",
AvailableQuantity : 150,
Price : 600,
Category : "Tech"
}];
var Order= {
UserName : "Rakesh",
UserID : "CcojGJPh3mIyoCZmParw",
OrderID :"H2Fbh3jTQ2XL7B9ttXBz",
UserPhone : 9840184150,
PlacedDate: "date",
ProductsPlaced : [
{
ProdName : "Smartphone",
ProdID : "0n7TZQrgpbfs8hPDKc7n",
ProductQuantity : 2,
ProductPrice : 1500
},{
ProdName : "Charger",
ProdID : "11VOxRvH2dc8cxyR4AYG",
ProductQuantity : 1,
ProductPrice : 600
}
]
};
退房后,您会希望:
Order.ProductsPlaced.forEach( i => {
console.log(i);
var _idx = Products.findIndex( p => p.ID === i.ProdID);
if (_idx < 0) {
console.log("Index Not Found");
return;
}
Products[_idx].AvailableQuantity = Products[_idx].AvailableQuantity - i.ProductQuantity;
});
Order.ProductsPlaced.forEach(i=>{
控制台日志(i);
var_idx=Products.findIndex(p=>p.ID==i.ProdID);
如果(_idx<0){
console.log(“未找到索引”);
返回;
}
Products[\u idx].AvailableEquantity=Products[\u idx].AvailableEquantity-i.ProductQuantity;
});
由于您的操作方式,您需要查找产品ID以找到正确的产品,然后执行减法。这对于您放入购物车的物品没有逻辑,但可用物品少于所需物品。所以要考虑到这一点。请添加一些您尝试过但不适用于您的代码,以便我们可以尝试帮助您。