Преобразование массива данных в сгруппированные данные для компонента DivisionList. ⇐ Javascript
Преобразование массива данных в сгруппированные данные для компонента DivisionList.
Я открыто признаю, что Javascript — не мой самый сильный язык, а React Native — очень новый язык, поэтому может существовать очевидно простой способ сделать это, которого я не вижу.
У меня есть API, который представляет некоторые данные транзакций в простой структуре:
[ { "идентификатор": 1, "title": "Apple Store", "дата": "10.09.2021", "сумма": "100,00 долларов США", }, { "идентификатор": 41, "title": "Зулауф, Вальтер и Мец", "дата": "10.09.2021", "сумма": "14,00 долларов США", }, { "идентификатор": 9, "title": "Ауфдерхар ПЛК", "дата": "09.09.2021", "сумма": "$78,00", }, { "идентификатор": 10, "title": "Байер и сыновья", "дата": "07.09.2021", "сумма": "$67,00", } ] Я хочу представить эти данные с помощью компонента DivisionList с транзакциями в разделах по дате. Моя (вероятно грубая) попытка решить эту проблему заключалась в преобразовании этих данных в следующую структуру:
[ { "дата": "10.09.2021", "транзакции": [ { "идентификатор": 1, "title": "Apple Store", "дата": "10.09.2021", "сумма": "100,00 долларов США", }, { "идентификатор": 41, "title": "Зулауф, Вальтер и Мец", "дата": "10.09.2021", "сумма": "14,00 долларов США", } ] }, { "дата": "09.09.2021", "транзакции": [ { "идентификатор": 9, "title": "Ауфдерхар ПЛК", "дата": "09.09.2021", "сумма": "$78,00", } ] }, { "дата": "07.09.2021", "транзакции": [ { "идентификатор": 10, "title": "Байер и сыновья", "дата": "07.09.2021", "сумма": "$67,00", } ] } ] Но я, честно говоря, не понимаю, как преобразовать эти данные (и есть ли лучший способ решить эту проблему). Я начал с использования функции groupBy Lodash, которая казалась многообещающей, но похоже, что секционному списку нужен не объект, а массив.
Преобразование вывода groupBy в массив сразу же удаляет ключи, и у меня есть сгруппированные данные, но нет четкого значения для заголовка раздела.
Опять же, возможно, есть какой-то хитрый простой способ решить эту проблему: данные все время поступают в виде плоского массива. Я ценю любые советы, помощь или примеры, на которые кто-либо может мне указать.
Я открыто признаю, что Javascript — не мой самый сильный язык, а React Native — очень новый язык, поэтому может существовать очевидно простой способ сделать это, которого я не вижу.
У меня есть API, который представляет некоторые данные транзакций в простой структуре:
[ { "идентификатор": 1, "title": "Apple Store", "дата": "10.09.2021", "сумма": "100,00 долларов США", }, { "идентификатор": 41, "title": "Зулауф, Вальтер и Мец", "дата": "10.09.2021", "сумма": "14,00 долларов США", }, { "идентификатор": 9, "title": "Ауфдерхар ПЛК", "дата": "09.09.2021", "сумма": "$78,00", }, { "идентификатор": 10, "title": "Байер и сыновья", "дата": "07.09.2021", "сумма": "$67,00", } ] Я хочу представить эти данные с помощью компонента DivisionList с транзакциями в разделах по дате. Моя (вероятно грубая) попытка решить эту проблему заключалась в преобразовании этих данных в следующую структуру:
[ { "дата": "10.09.2021", "транзакции": [ { "идентификатор": 1, "title": "Apple Store", "дата": "10.09.2021", "сумма": "100,00 долларов США", }, { "идентификатор": 41, "title": "Зулауф, Вальтер и Мец", "дата": "10.09.2021", "сумма": "14,00 долларов США", } ] }, { "дата": "09.09.2021", "транзакции": [ { "идентификатор": 9, "title": "Ауфдерхар ПЛК", "дата": "09.09.2021", "сумма": "$78,00", } ] }, { "дата": "07.09.2021", "транзакции": [ { "идентификатор": 10, "title": "Байер и сыновья", "дата": "07.09.2021", "сумма": "$67,00", } ] } ] Но я, честно говоря, не понимаю, как преобразовать эти данные (и есть ли лучший способ решить эту проблему). Я начал с использования функции groupBy Lodash, которая казалась многообещающей, но похоже, что секционному списку нужен не объект, а массив.
Преобразование вывода groupBy в массив сразу же удаляет ключи, и у меня есть сгруппированные данные, но нет четкого значения для заголовка раздела.
Опять же, возможно, есть какой-то хитрый простой способ решить эту проблему: данные все время поступают в виде плоского массива. Я ценю любые советы, помощь или примеры, на которые кто-либо может мне указать.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение