@senchkim
Junior Frontend

Как собрать такую структуру данных?

Всем привет вопрос такой:
const merrit = {
            title: 'Достоинства',
            content: [{
               id: 1,
                value: 'test',
            }],
        };
        const demerrit = {
            title: 'Недостатки',
            content: [{
                id: 2,
                value: value: 'test',,
            }],
        };
        const body = {
            title: 'Комментарий',
            content: [{
                id: 3,
                value: value: 'test',,
            }],
        };
        return [
            merrit,
            demerrit,
            body,
        ];


Мне нужно получить массив типа:
info: [
            {
                id: 1,
                title: 'Достоинства',
                content: [
                    {
                        id: 1,
                        value: 'test',
                    },
                ],
            },
            {
                id: 2,
                title: 'Недостатки',
                content: [
                    {
                        id: 1,
                        value: value: 'test',
                    },
                ],
            },
            {
                id: 3,
                title: 'Комментарий',
                content: [
                    {
                        id: 1,
                        value: 'test',,
                    },
                ],


Вопроса два:
1) как мне можно сделать боле элегантно сбор массива?
2) как сделать так что если у value нет значения то этот объект не попадает в итоговый массив?

Спасибо за помощь!
  • Вопрос задан
  • 105 просмотров
Пригласить эксперта
Ответы на вопрос 1
@ivashjke
Vue JS, React, React Native
фильтруйте результирующий массив
const info = arr.filter(({ content }) => content.every(({ value }) => value))
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
22 нояб. 2024, в 19:51
15000 руб./за проект
22 нояб. 2024, в 19:15
200000 руб./за проект
22 нояб. 2024, в 18:50
30000 руб./за проект