如何从阵列中删除所有项目并将其显示?

时间:2016-11-14 16:27:35

标签: javascript html

我有一个模拟网店我正在为一个项目做,我似乎无法让我的空车按钮工作。用户单击添加或删除项目以添加或从购物车中删除项目,但我清空购物车的按钮不起作用。

<button type="button" onclick="removeAll()" style="color:black">Empty Cart</button>

我已经尝试单击一个按钮单独删除每个项目,但它只删除了数组中的第一个项目。

function removeItem(itemIndex) { //remove item from cart
cart.remove(itemIndex);
cart.display();
}

function removeAll(itemIndex) { //removes all items from cart
removeItem(0);
removeItem(1);
removeItem(2);
}

function Cart (holder, items) {
this.holder = holder;
this.items = items;
this.quantities = Array();
for (var i=0; i<items.length; i++)
this.quantities[i] = 0;

this.add = function (index) {
this.quantities[index]++;
}
this.remove = function (index) {
if (this.quantities[index] > 0)
this.quantities[index]--;
}

感谢任何帮助,谢谢

2 个答案:

答案 0 :(得分:1)

查看该代码,您希望removeAll为:

function removeAll() { //removes all items from cart
    var n;
    for (n = 0; n < cart.quantities.length; ++n) {
        cart.quantities[n] = 0;
    }
    cart.display();
}

...虽然将removeAll放在Cart.prototype上(相应调整)可能是有意义的。

答案 1 :(得分:0)

为什么不重置阵列?

function removeAll() {
    this.items = [];
    this.quantities = [];
}