需要帮助将项目添加到购物篮以及在添加到购物篮时更新对象数量

时间:2019-06-02 13:25:00

标签: javascript javascript-objects

我正在努力将物品添加到购物篮中。即使我尝试执行循环,它也会显示[对象对象],它不会显示我添加的所有项目,而只会显示我添加的最后一个项目。另一个问题是,每当我将商品添加到购物篮中时,我希望该商品的数量为-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;
   }

0 个答案:

没有答案