Дом, который построил Кекс 28/28


#1

Не пойму, почему не передаётся через ассоциативный массив значение материала.
Цена считается нормально.
Подскажите пожалуйста!

var materialPrice = {
‘wood’: 1000,
‘stone’: 1500,
‘brick’: 2000
};

var house = {
rooms: 10,
floors: 5,
material: ‘wood’,
coefficient: 10.5
};

var calculateHouse = function(){
var customHouse = {
rooms:house.rooms,
coefficient:house.coefficient,
floors:house.floors,
material:house.material,

calculateSquare: function () {
var square = this.roomsthis.coefficientthis.floors
return square;
},

calculatePrice: function(){
var price = materialPrice[‘material’]*this.calculateSquare();
return price;
}
}
return customHouse
}

var create = calculateHouse();
console.log('square is ‘+create.calculateSquare()+’ and price is '+create.calculatePrice());


#2

Все несколько проще

calculateSquare: function () {
    return this.rooms * this.coefficient * this.floors;
},
calculatePrice: function () {
    return materialPrice[this.material] * this.calculateSquare()
}

#4

Спасибо! Действительно, вот в чём была ошибка))