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

質問編集履歴

1

コードを記載しました。

2020/04/09 08:48

投稿

takeshita0531
takeshita0531

スコア5

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,6 @@
1
- ### 前提・実現したいこと
2
1
  <hr>
3
2
  <p>1年A組試験結果</p>
4
- <table border=1>
3
+ <table border=1 id="table">
5
4
  <thead>
6
5
  <td>学籍番号</td>
7
6
  <td>名前</td>
@@ -10,49 +9,47 @@
10
9
  <tbody>
11
10
  <tr>
12
11
  <td>100</td>
13
- <td>田中</td>
12
+ <td id="table1">田中</td>
14
- <td>63</td>
13
+ <td class="table1" >63</td>
15
14
  </tr>
16
15
  <tr>
17
16
  <td>101</td>
18
- <td>佐藤</td>
17
+ <td id="table1">佐藤</td>
19
- <td>83</td>
18
+ <td class="table1" >83</td>
20
19
  </tr>
21
20
  <tr>
22
21
  <td>102</td>
23
- <td>鈴木</td>
22
+ <td id="table1">鈴木</td>
24
- <td>20</td>
23
+ <td class="table1" >20</td>
25
24
  </tr>
26
25
  <tr>
27
26
  <td>103</td>
28
- <td>清水</td>
27
+ <td id="table1">清水</td>
29
- <td>93</td>
28
+ <td class="table1" >93</td>
30
29
  </tr>
31
30
  <tr>
32
31
  <td>104</td>
33
- <td>須藤</td>
32
+ <td id="table1">須藤</td>
34
- <td>77</td>
33
+ <td class="table1" >77</td>
35
34
  </tr>
36
35
  <tr>
37
36
  <td>105</td>
38
- <td>石井</td>
37
+ <td id="table1">石井</td>
39
- <td>100</td>
38
+ <td class="table1" >100</td>
40
39
  </tr>
41
40
  <tr>
42
41
  <td>106</td>
43
- <td>森本</td>
42
+ <td id="table1">森本</td>
44
- <td>5</td>
43
+ <td class="table1" >5</td>
45
44
  </tr>
46
45
  </tbody>
47
46
  </table>
48
- 平均点=
47
+ 平均点 =<p id="ave"></p>
49
48
  <br>
50
- 最高得点者 =
49
+ 最高得点者 =<div id="max"></div>
51
50
  <br>
52
- 最低得点者 =
51
+ 最低得点者 =<p id="min"></p>
53
-
54
-
55
- <hr>
52
+ <br>
56
53
 
57
54
  JavaScriptで上記のtableから要素を取得し平均点を求めることはできたのですが最高得点者、最低得点者を動的に求めることができません。
58
55
  新たにtableに要素が追加されたときに対応できるようにしたいです。
@@ -69,12 +66,51 @@
69
66
  ### 該当のソースコード
70
67
 
71
68
  ```ここに言語名を入力
69
+ function getData(){
70
+ var d=[];
71
+ $('table tr').each(function(i, e){
72
+ var dd=[];
73
+ if (i===0)
74
+ $(this).find('th').each(function(j, el){dd.push($(this).text())});
75
+ else
76
+ $(this).find('.table1').each(function(j, el){dd.push($(this).text())});
77
+ d.push(dd);
78
+ });
79
+ return d;
80
+ }
81
+ 表示結果 
82
+ 63832093771005
83
+
84
+ function getName(){
85
+ var b=[];
86
+ $('table tr').each(function(i, e){
87
+ var bb=[];
88
+ if (i===0)
89
+ $(this).find('#table1').each(function(j, el){bb.push($(this).text())});
90
+ else
91
+ $(this).find('#table1').each(function(j, el){bb.push($(this).text())});
92
+ b.push(bb);
93
+ });
94
+ return b;
95
+ }
96
+
97
+ 表示結果 
98
+ 田中佐藤鈴木清水須藤石井森本
99
+
100
+ var hash = {
101
+ name: gg, ten: arr
102
+ };
103
+ var max = (hash.reduce((a,b)=>a.ten>b.ten?a:b).name);
104
+ $('#max').html(max);
105
+ var min = (hash.reduce((a,b)=>a.ten<b.ten?a:b).name);
106
+ $('#min').html(min);
72
107
  ソースコード
73
108
  ```
74
109
 
110
+
75
111
  ### 試したこと
76
- tableの内容をを配列にしたり最大値、最小値を求めるコードを書いたのですが
112
+ tableの内容をを配列にしたり最大値、最小値を求めるコードを書いたのですが表示されません。
77
- 数や学籍番号が表示されてしまいます。名前のみ表示したいです。
113
+ 最高得者、最低得点者の名前のみ表示したいです。
78
114
 
79
115
 
80
116
  ここに問題に対して試したことを記載してください。