.5 Bleep,Bleep


#1

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

SyntaxError: Unexpected token :

 var cashRegister = {
    total:0,
    //Dont forget to add your property
    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;
    };
    //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);

//Void the last transaction and then add 3 instead

console.log(cashRegister.total);
cashRegister.voidLastTransaction();

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

I am so stuck here, any feedback would be greatly appreciated!!


#2

HI first this spart

    add: function(itemCost) { #open the add method
        this.total +=  itemCost;
        this.lastTransactionAmount = itemCost;        
    } #close the add method
}, #remove this one

the one you should remove it's closing the cashRegister earlier then here

    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;
    };

on the last closing } remove the ; and put ,

,


#3

I have a question on this task:

With the following two methods:

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;
},

the lastTransactionAmount value returned at the end is really the total amount for the last item (quantity times itemCost), rather than the itemCost.

If this is the expected result, I still don't get how to make lastTransactionAmount to be equal to the last item's itemCost (unit price).

Could anyone share your thoughts? Thanks.


#4

This one is correct

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


#5

First, Remove the last ; and put , on this code

Second, we will change last to 'chocolate'

console.log(cashRegister.total);
cashRegister.scan(last,3);

This code will work with you

var cashRegister = {
    total:0,
    //Dont forget to add your property
    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;
    },
    //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);

//Void the last transaction and then add 3 instead
console.log(cashRegister.total);
cashRegister.voidLastTransaction();

console.log(cashRegister.total);
cashRegister.scan('chocolate',3);

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

#6

I think do not need that argument , the function works without it


#7

I cannot find my error. SyntaxError: Unexpected identifier. Please help

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


#8

Hi you should add the comma after the closing } of the add method

add: function(itemCost) {
    this.total += itemCost;
    this.lastTransactionAmount=itemCost;
}, <-- add one here

#9

If I understand you correctly you're trying to figure out the cost of each individual item. This exercise is to figure out how to void the last "transaction" not individual items, so what you have written in your code is actually the correct answer to the problem.