teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

サンプルコードを追加

2019/07/02 14:52

投稿

KuwabataK
KuwabataK

スコア306

answer CHANGED
@@ -1,4 +1,5 @@
1
1
  こんな感じですかね。
2
+ [サンプルコード](https://playcode.io/360492?tabs=script.js,preview,console)
2
3
 
3
4
  ```js
4
5
 

1

変数名を少し修正

2019/07/02 14:52

投稿

KuwabataK
KuwabataK

スコア306

answer CHANGED
@@ -67,14 +67,12 @@
67
67
  { "time": "15:00", "season": "winter", "direction": "SW", "state": "partial" },
68
68
  { "time": "16:00", "season": "winter", "direction": "SW", "state": "partial" }]
69
69
 
70
-
71
-
72
70
  const flatData = directionData.map((dir) => {
73
71
  return seasonData.map(season => {
74
72
  return {
75
73
  'dirction': dir.direction,
76
74
  'season': season.season,
77
- 'data': shadowData.filter(shadow => shadow.direction === dir.direction && shadow.season === season.season)
75
+ 'shadow': shadowData.filter(shadow => shadow.direction === dir.direction && shadow.season === season.season)
78
76
  }
79
77
  })
80
78
  }
@@ -83,7 +81,7 @@
83
81
  const result = flatData.map((d) => {
84
82
  const r = {}
85
83
  timeData.forEach(time => {
86
- r[time] = d.data.find(_d => _d.time === time) ? d.data.find(_d => _d.time === time).state : 'none'
84
+ r[time] = d.shadow.find(_d => _d.time === time) ? d.shadow.find(_d => _d.time === time).state : 'none'
87
85
  })
88
86
  return {
89
87
  [d.dirction + '_' + d.season]: r