Функция стрелки фильтра не дает правильного вывода - PullRequest
2 голосов
/ 27 мая 2020
const arr = [   { name: 'Dan', age: 33, color: 'red' },   { name: 'Mike', age: 21, color: 'blue' },   { name: 'Lance', age: 20, color: 'green' },   { name: 'Layne', age: 21, color: 'blue' },   { name: 'Dan', age: 18, color: 'red' } ];

const getUsersWithEyeColor = list =>
  list.filter((user, colour) => {
    return user.eyeColor.includes(colour);
  });


log(getUsersWithColor(arr, 'blue'));

Я хочу динамически фильтровать массив объектов, используя функцию массива, но сейчас я получаю пустой массив.

1 Ответ

1 голос
/ 27 мая 2020

Ваша функция принимает два аргумента, поэтому должно быть: (list, colour) =>..., и вам нужно сравнить значение, поэтому .includes() не требуется:

const arr = [   { name: 'Dan', age: 33, color: 'red' },   { name: 'Mike', age: 21, color: 'blue' },   { name: 'Lance', age: 20, color: 'green' },   { name: 'Layne', age: 21, color: 'blue' },   { name: 'Dan', age: 18, color: 'red' } ];

const getUsersWithColor = (list, colour) =>
  list.filter(user => user.color === colour);


console.log(getUsersWithColor(arr, 'blue'));

user представляет собой один элемент из list

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...