Bleep Bleep


#1



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

Oops, try again. false


var cashRegister = {
    total:0,
    //Dont forget to add your property
    add: function(itemCost) {
        this.total +=  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;
    },
    //Add the voidLastTransaction Method here
    voidLastTransaction: function(){
        this.total -=this.lastTransactionAmount;
    }
 
        
};

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

//Void the last transaction and then add 3 instead


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


#2

You didn't write:
this.lastTransactionAmount = itemCost

after these two lines:


#3

@youngq

In your add Method
you should add a code-line
this.lastTransactionAmount = itemCost;

add: function(itemCost) {
        this.total +=  itemCost;
        this.lastTransactionAmount = itemCost;
    }

with this.lastTransactionAmount you are tracking the =last= scan transaction......

And if you want to be perfect

  • you should have initialized the lastTransactionAmount property like you did with total
    lastTransactionAmount = 0 ( don't forget the comma-, separator )

  • in your voidLastTransaction Method
    you should re-assign the this.lastTransactionAmount to zero
    =after= you re-assigned the this.total
    this.lastTransactionAmount = 0;
    therewith securing that a multiple call of the voidLastTransaction
    would not lead to an unwanted effect.


#4

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