Помогите написать функцию фильтрации
Добрый вечер! Такая задача
Напишите функцию filter в object-array-filter.js, фильтрующую массив объектов по значению свойства. Массив, название свойства и нужное значение должны передаваться в качестве аргументов. Пример использования: let objects = [ { name: 'Василий', surname: 'Васильев' }, { name: 'Иван', surname: 'Иванов' }, { name: 'Пётр', surname: 'Петров' } ] let result = filter(objects, 'name', 'Иван'); /* Результат выполнения должен быть: [ { name: 'Иван', surname: 'Иванов' } ] */ У меня получилось отфильтровать, КАК ЭТО ДЕЛО ВСТРОИТТ В ФУНКЦИЮ, пытался, но все безуспешно < JS> let objects = [ { name: 'Василий', surname: 'Васильев' }, { name: 'Иван', surname: 'Иванов' }, { name: 'Пётр', surname: 'Петров' } ] let result = objects.filter(objects => objects.name == 'Иван') console.log(result) <JS> ЗАРАНЕЕ ВСЕМ БЛАГОДАРЕН ЗА ПОМОЩЬ, И КОММЕНТ В ЧЕМ НЮАНС, чтобы понять как это должно работать !!! |
TomWalbridge,
Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [html run] ... минимальный код страницы с вашей проблемой [/html] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
TomWalbridge,
<body> <script> let objects = [{ name: 'Василий', surname: 'Васильев' }, { name: 'Иван', surname: 'Иванов' }, { name: 'Пётр', surname: 'Петров' } ] const filter = (objects, property, value) => objects.filter(item => item[property] === value); let result = filter(objects, 'name', 'Иван'); document.body.append(JSON.stringify(result)); </script> </body> |
let objects = [ { name: 'Василий', surname: 'Васильев' }, { name: 'Иван', surname: 'Иванов' }, { name: 'Пётр', surname: 'Петров' } ] let result = objects.filter(objects => objects.name == 'Иван') console.log(result) |
Спасибо за ответ, все выводит!
|
еще один вопрос, чтобы вывести функцию, а не переменную, в консоль, мне надо использовать filter или item()
|
TomWalbridge,
не понимаю. |
Часовой пояс GMT +3, время: 21:02. |