@senchkim
Junior Frontend

Как изменить вложенное поле?

Добрый день!
Есть вот такая структура данных
const data = [
 {
  "id": 000,
  "content": "test0",
  "postedAt": 1581515871,
  "answers": [
    {
      "id": 001,
      "content": "test1",
      "postedAt": 1624960660,
      "answers": []
    }
  ]
}
]


И нужно на выходе получить точно такую же структуру, но с измененным полем postedAt
на всех уровнях вложенности!

const filteredFirstMessage = useMemo(
        () => ([{
            ...data,
            postedAt: `${format(new Date(data.postedAt * 1000)}`,
        }]),
        [data],
    );

Такая запись работает только на 1 уровень вложенности, без учета в массиве answers
  • Вопрос задан
  • 84 просмотра
Пригласить эксперта
Ответы на вопрос 1
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
  1. Пишете цикл, которые перебирает какой-то массив объектов и передаёт каждый объект в условную функцию changePostedAt
  2. Функция changePostedAt изменяет поле postedAt. Затем находит массив в answers и для каждого объекта в этом массиве вызывает changePostedAt.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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