JustHappyGuest
@JustHappyGuest

Что не так с filter()?

В таком фрагменте кода

numbers = [1, 2, 1, 1];
numbers = numbers.filter(function(value){
        return value % 2 === 0;
});


в numbers попадает [0, 2, 0, 0].
Почему? Я думал там будет [ 2 ].
Что я не понимаю?

Ведь если записать вот так:

numbers = [1, 2, 1, 1];
numbers = numbers.filter(function(value){
        return value > 1;
});


вернет как раз [ 2 ].
  • Вопрос задан
  • 111 просмотров
Пригласить эксперта
Ответы на вопрос 2
alsopub
@alsopub
Проверил:
numbers = [1, 2, 1, 1];
numbers = numbers.filter(function(value){
        return value % 2 === 0;
});
console.log(numbers);

результат
[2]
Уточните как и где вы проверяете.
Ответ написан
Комментировать
Проверил:
$ node
> numbers = [1, 2, 1, 1];
[ 1, 2, 1, 1 ]
> numbers.filter(function(value){return value % 2 === 0})
[ 2 ]


Результат соответствует ожиданию.
Где вы проверяли свой код?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы