Нужна помощь в добавлении товаров в корзину и обновлении кол-во объектов при добавлении в корзину - PullRequest
0 голосов
/ 02 июня 2019

Я изо всех сил пытаюсь получить предмет, чтобы добавить в мою корзину. он показывает мне [объект объекта], даже когда я пытаюсь сделать цикл, он отображает не все мои элементы, которые я добавил, а только последний элемент, который я добавил. Другая проблема заключается в том, что я хочу, чтобы количество элементов было равно -1 от того, что было при каждом добавлении этого элемента в корзину. Ниже приведена функция, которая берет элементы из моей корзины, которые я уже отфильтровал и толкает его в вар бе. Примечание: конструктор "обувь" - это то, что входит в мои объекты. ссылка на мой код: 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;
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...