@AndreyKiyah

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

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

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

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

const viewList = members.filter((member) => member.type === "view");
  const anyList = members.filter((member) => member.type !== "view");
  • Вопрос задан
  • 57 просмотров
Пригласить эксперта
Ответы на вопрос 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: []})


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

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

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