我正在努力将物品添加到购物篮中。即使我尝试执行循环,它也会显示[对象对象],它不会显示我添加的所有项目,而只会显示我添加的最后一个项目。另一个问题是,每当我将商品添加到购物篮中时,我希望该商品的数量为-1。 下面是一个函数,该函数将从我已过滤的购物车中取出物品 并将其推入var be。注意:“鞋子”构造函数就是我的对象出现的样子。链接到我的代码:https://incrediblejagur.github.io/shopping_catalogue/
function ShoppingCatalogue(shoes) {
var stock;
var price = 0;
var cart = [];
function buildColor() {
var colors = ["color"];
var dataMap = {};
for (var i = 0; i < shoes.length; i++) {
if (dataMap[shoes[i].color] === undefined) {
dataMap[shoes[i].color] = 0;
colors.push(shoes[i].color);
}
}
return colors;
}
function buildBrand() {
var brand = ["brand"];
var dataMap = {};
for (var i = 0; i < shoes.length; i++) {
if (dataMap[shoes[i].brand] === undefined) {
dataMap[shoes[i].brand] = 0;
brand.push(shoes[i].brand)
}
}
return brand;
}
function buildSize() {
var size = ["size"];
var map = {};
for (var i = 0; i < shoes.length; i++) {
for (var z = 0; z < shoes[i].in_stock.length; z++) {
if (map[shoes[i].in_stock[z].size] === undefined) {
map[shoes[i].in_stock[z].size] = 0;
size.push(shoes[i].in_stock[z].size)
}
}
}
return size;
}
function searchShoe(color, size, brand) {
var temp = [];
var colorFilter = shoes.filter(function (col) {
return col.color === color;
})
var brandFilter = colorFilter.filter(function (brnd) {
if(brnd.brand === brand){
price = brnd.price;
}
return brnd.brand === brand;
})
var sizeFilter = brandFilter.filter(function (siz) {
for (var i = 0; i < siz.in_stock.length; i++) {
if (siz.in_stock[i].size == size) {
stock = siz.in_stock[i].stock
}
}
return siz.brand
})
itemCart(brand,color,size,price,stock)
return "We have " + stock + " "+ color + " " + brand + "'s" + " in
size " + size + " @ " + "R" + price + " each";
}
function itemCart(brand,color,size,price,stock){
var c = {
brn: brand,
col: color,
siz: size,
pri: price,
qty: stock
}
cart.push(c)
}
function returnCart(){
var be = [];
for(var i =0;i <cart.length;i++){
var b = cart[i]
be.push(b)
}
console.log(be)
return be;
}