@Nivaech

Как с помощью map отрендерить array объектов только по одному параметру?

Есть array з данными, выглядящий приблизительно вот так:
const products = [
    {
        id: 1,
        title: "Some title",
        category: "Category One"
    },
     {
        id: 2,
        title: "Some title",
        category: "Category One"
    },
    {
        id: 3,
        title: "Some title",
        category: "Category Two"
    },
     {
        id: 4,
        title: "Some title",
        category: "Category Two"
    }];


В одном array находятся товары разных категорий, но вытянуть и отобразить мне нужно товары только одной категории. Сейчас у меня выглядит все это как-то вот так, но этот вариант неверный, ибо он выводит на экран весь массив целиком.

const itemList = products.map(item => <ProductCard
        key = {item.id}
        title = {item.title}
        category = {item.category}
        />)


Как с помощью map отрендерить часть массива только с Category One, проигнорировав Category Two?
  • Вопрос задан
  • 134 просмотра
Решения вопроса 2
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Используйте filter. Или же можно разместить условную конструкцию (с оператором &&)
const itemList = products.map(item => item.category === "Category Two" && <ProductCard
        key = {item.id}
        title = {item.title}
        category = {item.category}
        />)
Ответ написан
Комментировать
wagoodoogoo
@wagoodoogoo
prestashop, webix, phalcon, vue, slim, craft cms
Сначала filter, потом map?
const itemList = products.filter(function(obj) {
    return item.category === 'Category Two';
}).map();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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