Как реализовать данный код? Как сделать такие функции? (данный код менять нельзя)
Вот как friends занести в функции select и filterIn
var bestFriends = lib.query(
friends,
lib.select('name', 'gender', 'email'),
lib.filterIn('favoriteFruit', ['Яблоко', 'Картофель'])
);
select, filterIn - функции, результатом которых является работа над коллекцией friends
Не совсем так. Функции .select()
и .filterIn()
- это функции, результатом которых будут функции, которые будут работать над коллекцией friends
Функция .query()
получает на вход
friends
, friends
, полученную в результате выполнения lib.select('name', 'gender', 'email')
friends
, полученную в результате выполнения lib.filterIn('favoriteFruit', ['Яблоко', 'Картофель'])
Примерный код
var lib = {
query: function (data, select, filter) {
return select(filter(data))
},
select: function (...fields) {
return function (data) {
return data.map(function (x) {
var item = {}
fields.forEach(function (field) {
item[field] = x[field]
})
return item
})
}
},
filterIn: function (field, values) {
return function (data) {
return data.filter(function (x) {
return values.indexOf(x[field]) > -1
})
}
}
}
var friends = [
{
name: 'Михаил',
gender: 'муж',
email: 'mikhail@example.com',
favoriteFruit: 'Тыква'
},
{
name: 'Алексей',
gender: 'муж',
email: 'aleksey@example.com',
favoriteFruit: 'Дыня'
},
{
name: 'Федор',
gender: 'муж',
email: 'fedor@example.com',
favoriteFruit: 'Яблоко'
},
{
name: 'Иван',
gender: 'муж',
email: 'ivan@example.com',
favoriteFruit: 'Мандарин'
},
{
name: 'Петр',
gender: 'муж',
email: 'petr@example.com',
favoriteFruit: 'Картофель'
}
]
var bestFriends = lib.query(
friends,
lib.select('name', 'gender', 'email'),
lib.filterIn('favoriteFruit', ['Яблоко', 'Картофель'])
);
console.log(bestFriends)
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Задача следующая - нужно составить регулярное выражение, которое проверит URL, и если оно имеет формат https://vkcom/[0-9A-z
[Vue warn]: Unknown custom element: <MyTreeList> - did you register the component correctly? For recursive components, make sure to provide the "name" option
Создать сообщение - работаетУдалить сообщение - не работает