5/7 Bleep Bleep. Why do we only subtract 'itemCost'?


#1



https://www.codecademy.com/courses/close-the-super-makert/0/5?curriculum_id=506324b3a7dffd00020bf661#


My code behaves correctly. However, I am wondering why when we create 'lastTransactionAmount' we only set it to '= itemCost'...
Would that not simply remove a SINGLE ITEM and not the total transaction (itemCost * quantity)???


Replace this line with your code. 

var cashRegister = {
    total:0,
    lastTransactionAmount: 0,
    add: function(itemCost) {
        this.total +=  itemCost;
        this.lastTransactionAmount = itemCost;
    },
    scan: function(item,quantity) {
        switch (item) {
        case "eggs": this.add(0.98 * quantity); break;
        case "milk": this.add(1.23 * quantity); break;
        case "magazine": this.add(4.99 * quantity); break;
        case "chocolate": this.add(0.45 * quantity); break;
        }
        return true;
    },
    voidLastTransaction: function(){
        this.total -= this.lastTransactionAmount;
        }
    
    
};

cashRegister.scan('eggs',1);
cashRegister.scan('milk',1);
cashRegister.scan('magazine',1);
cashRegister.scan('chocolate',4);

//Void the last transaction and then add 3 instead
cashRegister.voidLastTransaction();
cashRegister.scan('chocolate',3);

//Show the total bill
console.log('Your bill is '+cashRegister.total);


#2

Hey could you share your code with use?
Like this:

 ```
 Your code here
 ```

#3

The itemCost does not refer to a single item. Instead, it refers to the total cost for the inputted quantity of that item. So you are not removing the cost of one item, you're removing the cost of all items of that type for the transaction.

Further clarification:
Notice that when add is used in scan, it's not the cost of a single item, it's the cost of a single item * quantity of that item purchased. So what is input into add is not the cost of one item, but potentially multiple items.


#4

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.