やりたいこと。
const sampleAnimals = [ { id: 0, animal_id: 0, animal_on: '2021-08-01', animals: [ { id: 1, name: '哺乳類', count: 4, option_animals: [ { id: 1, name: 'くじら', count: 3, }, ], }, { id: 1, name: '哺乳類', count: 4, option_animals: [ { id: 2, name: 'いるか', count: 3, }, ], }, ], }, { id: 0, company_id: 0, animal_on: '2021-08-02', animals: [ { id: 2, name: '鳥類', count: 5, option_animals: [ { id: 3, name: '烏', count: 4, }, { id: 4, name: '白鳥', count: 3, }, ], }, { id: 1, name: '哺乳類', count: 5, option_animals: [ { id: 1, name: 'くじら', count: 4, }, { id: 2, name: 'いるか', count: 5, }, ], }, ], }, ];
上記を下に変換したい...
const sampleAnimals = [ { "哺乳類": { '2021-08-01': { id: 1, name: '哺乳類', count: 5, option_animals: [ { id: 1, name: 'くじら', count: 4, }, ], }, '2021-08-02': { id: 1, name: '哺乳類', count: 5, option_animals: [ { id: 1, name: 'くじら', count: 4, }, { id: 2, name: 'いるか', count: 4, }, ], }, }, }, "鳥類" : { '2021-08-01' : { //省略 } } ];
経緯
動物 | 8/1 | 8/2 | total |
---|---|---|---|
哺乳類 | 哺乳類のくじらといるかを足したtotal | 哺乳類のくじらといるかを足したtotal | 左の全てのtotal |
くじら | 日付ごとの数 | 日付ごとの数 | 左の全てのtotal |
いるか | 日付ごとの数 | 日付ごとの数 | 左の全てのtotal |
鳥類 | 烏と白鳥のtotal | 烏と白鳥のtotal | 左の全てのtotal |
烏 | 日付ごとの数 | 日付ごとの数 | 左の全てのtotal |
白鳥 | 日付ごとの数 | 日付ごとの数 | 左の全てのtotal |
※APIから全ての日付のデータは来ない(0の日はデータがこない)のでフロントで指定月のDateのArrayを作成している
※日付は1日から月末まで表示する データのない場合は空欄
※くじらといるか または 烏 と 白鳥 のみ題材としてますが もっとAPIからは来る想定です (**類も)
変換方法またはAPIからのデータの内容からテーブルの作成がうまくできない為、どなたかアドバイスいただきたいです。
変換につきましてはもっと良い形などありましたら添えてご教示いただけたらと????♂️
あなたの回答
tips
プレビュー