Вопрос №34966 от пользователя Иван Ляшов в уроке «Операция rest», курс «JS: Коллекции»

Иван Ляшов

return (coll) => coll.filter( (element) => (keys.every((key) => predicate[key] === element[key])), Не совсем понимаю как данный код работает.Если можно обьясните пожалуйста.

2 2

Vyacheslav Kaderkin

Иван Ляшов, наш фильтр ждет функцию предикат. Если одним из аргументов идет функция, то все ок, а если объект, то нужно из него слепить предикат. Наша привычная функция-предикат выглядит, например, так:

car => car.name === 'bmv'

Попробуйте заменить element на car, может станет понятнее. Если нет, пишите.

2

Станислав Дзисяк

Иван Ляшов, приветствую!

Дополню немного ответ Вячеслава. Метод every также принимает функцию предикат и применяет её к каждому элементу массива (в данном случае это ключи объекта). В случае если функция предикат для всех элементов массива вернет true, тогда и метод every вернет true. Соответственно, если element содержит пары ключ-значения какие есть в объекте predicate, наша функция предикат для фильтра вернет также true. Подробнее о методе every можете ознакомиться на странице документации.

3

Есть вопрос или хотите участвовать в обсуждении?

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы соглашаетесь c «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
27 октября 8 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
27 октября 8 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
27 октября 8 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
27 октября 8 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
27 октября 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Новый
Создает веб-приложения со скоростью света
27 октября 5 месяцев