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

36 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Добавьте методы в холодильник
[importance 5]
Добавьте в холодильник методы:
<ul>
<li>Публичный метод `filterFood(func)`, который возвращает всю еду, для которой `func(item) == true`</li>
<li>Публичный метод `removeFood(item)`, который удаляет еду `item` из холодильника.</li>
</ul>
Код для проверки:
```js
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
```
В качестве исходного кода используйте решение [предыдущей задачи](/task/inherit-fridge).