this.items [id] .size.pop не является функцией - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь создать массив размеров. Я добавляю в массив просто отлично, и он отображается. Я пытаюсь удалить с .pop();, и это дает мне ошибку, указанную в заголовке этого поста.

    this.add = function(item, id, size){
        var storedItem = this.items[id];

        if(!storedItem) {
            storedItem = this.items[id] = {item: item, qty: 0, price: 0, size: []}. <------
        }
        storedItem.size += size;
        storedItem.qty++;
        storedItem.price = storedItem.item.price * storedItem.qty;
        this.totalQty++;
        this.totalPrice += storedItem.item.price;
    }

    this.reduceByOne = function(id){
        this.items[id].size.pop().         <------------

        this.items[id].qty--;
        this.items[id].price -= this.items[id].item.price;
        this.totalQty--;
        this.totalPrice -= this.items[id].item.price;

        if(this.items[id].qty <= 0) {
            delete this.items[id];
        }
    }

Я также пробовал это и получаю ту же ошибку.

var reduceOne = this.items[id].size;
reduceOne.pop();

1 Ответ

1 голос
/ 20 апреля 2020
storedItem.size += size;

Вы хотели использовать push здесь вместо +=?

storedItem.size.push(size);
...