en.javascript.info/1-js/8-oop/5-functional-inheritance/4-add-methods-fridge/task.md
Ilya Kantor 87bf53d076 update
2014-11-16 01:40:20 +03:00

1.2 KiB
Raw Blame History

Добавьте методы в холодильник

[importance 5]

Добавьте в холодильник методы:

  • Публичный метод `filterFood(func)`, который возвращает всю еду, для которой `func(item) == true`
  • Публичный метод `removeFood(item)`, который удаляет еду `item` из холодильника.

Код для проверки:

var fridge = new Fridge(500); 
fridge.enable();
fridge.addFood({ title: "котлета", calories: 100 });
fridge.addFood({ title: "сок", calories: 30 });
fridge.addFood({ title: "зелень", calories: 10 });
fridge.addFood({ title: "варенье", calories: 150 }); 

fridge.removeFood("нет такой еды"); // без эффекта
alert(fridge.getFood().length); // 4

var dietItems = fridge.filterFood(function(item) {
  return item.calories < 50;
});

dietItems.forEach(function(item) {
  alert(item.title); // сок, зелень
  fridge.removeFood(item);
});

alert(fridge.getFood().length); // 2

В качестве исходного кода используйте решение предыдущей задачи.