Задать вопрос
@AndreyKiyah

Как правильно отфильтровать массив?

Суть такова.
Делаю фетч, получаю members (массив объектов ) заношу данные в стейт.

Далее необходимо этот массив отфильтровать по типу "view" и не view ( один массив должен быть исключительно с элементами с типом view а в другом массиве все элементы не с типом view) и дальше один массив передать в один блок пропсом а второй во второй.

Вот как сделал на данном этапе я.
Все работает, вот вопрос в то правильно ли я сделал?, или возможно есть еще какие другие варианты как это все можно более лаконичнее организовать.
опыт есть но не особо.
Спасибо за внимание.

const viewList = members.filter((member) => member.type === "view");
  const anyList = members.filter((member) => member.type !== "view");
  • Вопрос задан
  • 59 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
Kozack
@Kozack
Thinking about a11y
Юзай reduce
Примерно так:
const {view, rest} = arr.reduce(({view, rest}, item) => (item.type === 'view' ? view : rest).push(item), {view, rest}, {view: [], rest: []})


То есть тут вы создаёте объект с двумя полями. Далее за один проход по циклу сортируете массив по этим полям
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽