Написал программу “Десятая программа: «Дом, который построил Кекс»”. В браузере работает правильно, а проверку пройти не может. Поясните в чем дело!
let materialPrice = {
‘wood’: 1000,
‘stone’: 1500,
‘brick’: 2000
};
let house = {
rooms: 3,
floors: 6,
material: ‘wood’,
coefficient: 5.5
};
house.calculateSquare = function (){
Square = (this.rooms * this.coefficient * this.floors);
return Square;
};
Square = house.calculateSquare();
console.log(Square + ’ Площадь.’);
house.calculatePrice = function (material){
Price = Square * materialPrice[material];
return Price;
};
Price = house.calculatePrice(house.material);
console.log(Price + ’ Площадь.’);
Дело в том, что методы нужно было записать в качестве свойств через запятую для объекта house. Тогда всё сработает и в тренажёре.
let materialPrice = {
‘wood’: 1000,
‘stone’: 1500,
‘brick’: 2000
};
let house = {
rooms: 10,
floors: 5,
material: ‘wood’,
coefficient: 10.5,
calculateSquare: function() {
return this.rooms * this.coefficient * this.floors;
},
calculatePrice: function() {
return materialPrice[this.material] * this.calculateSquare();
}
}
1 лайк
мой вариант решения:
let materialPrice = {
‘wood’: 1000,
‘stone’: 1500,
‘brick’: 2000
};
let house = {
rooms: 10,
floors: 5,
material: ‘wood’,
coefficient: 10.5,
calculateSquare: function (square) {
square = this.rooms * this.coefficient * this.floors;
return square;
},
calculatePrice: function (constructionPrice) {
constructionPrice = this.calculateSquare() * materialPrice[this.material];
return constructionPrice;
}
};
let materialPrice = {
'wood': 1000,
'stone': 1500,
'brick': 2000
};
let house = {
rooms: 10,
floors: 5,
material: 'wood',
coefficient: 10.5,
calculateSquare: function () {
return this.rooms * this.coefficient * this.floors;
},
calculatePrice: function() {
return materialPrice[this.material] * this.calculateSquare();
}
};