前提・実現したいこと
javascript初心者です
与えられた配列から、表を生成したいです。
これを読んでもよくわかりませんでした。
あんまり関係ない気もしますが、、、
該当のソースコード
html
1 <select> 2 <option value='piyo'>piyo</option> 3 <option value='fuga'>fuga</option> 4 </select> 5 6 <table border='1'> 7 <thead> 8 <tr> 9 <th>a</th> 10 <th>b</th> 11 </tr> 12 </thead> 13 </table> 14 15 <script type="text/javascript"> 16 var hoge = { 17 fuga: [ 18 [1, 2, 2, 1], 19 [1, 4, 3, 5], 20 [2, 4, 3, 1] 21 ], 22 piyo: ... 23 }; 24 25 document.querySelector('select').onchange = function(){ 26 hoge.fuga.forEach(one =>) # ここの書き方が分からない 27 } 28 </script>
やりたいこと
selectボックスでfugaが選ばれたら、DOMを以下のように変えたい
html
1 <table border='1'> 2 <thead> 3 <tr> 4 <th>a</th> 5 <th>b</th> 6 </tr> 7 </thead> 8 <tbody> 9 <tr> 10 <td>1-2</td> 11 <td>2-1</td> 12 </tr> 13 <tr> 14 <td>1-4</td> 15 <td>3-5</td> 16 </tr> 17 <tr> 18 <td>2-4</td> 19 <td>3-1</td> 20 </tr> 21 </tbody> 22 </table>
質問したいことは2つ
- eachでもfilterでもなんでもいいのですが、各配列に関する処理を関数化するにはどう書くのがいいでしょうか。
- hoge.fuga.forEachと書いていますが、このfugaのところを動的に変えられないでしょうか(selectボックスでpiyoが選ばれていたらpiyoの2重配列を参照したいです)
まずは、質問者さんが思うように書いてみましょう。
今のままだと、丸投げになってしまいます。
コード書いて実行して、壊れるような事は余程のことない限りないので、
まずは自分で書いてみましょう。
回答2件
あなたの回答
tips
プレビュー