Из заданной структуры данных (файл json) мне в основном нужно отобразить таблицу.Пустые строки и / или столбцы не должны отображаться.Я довольно новичок в JavaScript и пробовал разные подходы (преобразование в массив и использование .map (), redu (), .filter (), lodash и т. Д.) Без успеха.Я даже не знаю, как лучше решить проблему.(Или какими возможными поисковыми терминами будут.)
Ни «ключи строки» (например: mo, tu, we, th, fr), ни «ключи столбца» (john, hane, doe) не известны иможет варьироваться.
Полный пример: https://jsbin.com/rafeyasena/edit?js,output
"groupA": {
"mo": { "john": 8, "jane": 5, "doe": null },
"tu": { "john": 8, "jane": 5, "doe": null },
"we": { "john": 5, "jane": 9, "doe": null },
"th": { "john": 6, "jane": 3, "doe": null },
"fr": { "john": null, "jane": null, "doe": null }
}
Возможная результирующая структура данных
const header = ["John", "Jane"];
const content = [
"mo": {[ 8, 5 ]},
"tu": {[ 8, 5 ]},
"we": {[ 5, 9 ]},
"th": {[ 6, 3 ]}
]
Ожидаемый результат (Front-end, React):
| John | Jane |
---|------|--------
mo | 8 | 5 |
tu | 8 | 5 |
we | 5 | 9 |
th | 6 | 3 |
То, что я пробовал до сих пор: я смог удалить все значения null и соответствующий ключ, если он больше не содержит ключей / значений ( Удалить нулевые значения во вложенных объектах javascript ) - побудить меня выяснить все оставшиеся ключи для построения заголовка таблицы.(В приведенном ниже примере это будут только Джон и Джейн. Таким образом, в основном это способ перебора всех ключей и запись каждого ключа, который существует хотя бы один раз).Поэтому мои текущие данные выглядят так (но я не уверен, что это лучший способ):
"groupA": {
"mo": { "john": 8, "jane": 5, },
"tu": { "john": 8, "jane": 5, },
"we": { "john": 5, "jane": 9, },
"th": { "john": 6, "jane": 3, }
}