Задать вопрос
@tema1302
Помогло? Отметь решением!))

Почему метод filter, в отличие от старого for, не отрабатывает корректно?

Пытаюсь отфильтровать массив из продуктов, стоимость которых выше, например, 100 рублей.
Примерно такая история:
const products = [
{ price: 240, ... },
{ price: 50, ... },
{ price: 120, ... }
]

По каким-то причинам этот фильтр не работает:
let resultArr = products.filter(product=> {
product.price > 100
});

А вот этот - работает:
let resultArr = [];
for(let i = 0; i < this.products.length; i++) {
if(this.products[i].price > 100) resultArr.push(this.products[i]);
}

Где я туплю?
  • Вопрос задан
  • 122 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
фигурные скобки лишние: нужно возвращать true / false

let resultArr = products.filter((product) => {
  return product.price > 100;
});

// или
let resultArr = products.filter((product) => product.price > 100);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы