我有下表:
a b c d
--------------
5 2 25 25
2 48 20 20
5 1 22 22
3 4 31 31
3 3 33 33
3 6 43 43
3 8 45 45
3 5 42 42
3 11 37 37
3 7 40 40
3 10 36 36
1 35 40 40
3 22 38 38
3 23 35 35
1 31 34 34
我需要根据A列组计算每列的总和,即按A组分组,得出输出结果:
a b c d
------------
1 20 30 15
2 30 20 24
3 10 30 16
任何人帮助我
答案 0 :(得分:0)
您可以使用var table = $('#example-table').tableToJSON();
将数据转换为json。然后在生成的json和for循环的帮助下,您可以实现您的目标。
点击tableToJSON()
的here GitHub链接答案 1 :(得分:0)
此代码应该可以帮助您按第一列的总和计算分组
$(document).ready(function(){
var group_sum={};
$("#mytable tbody tr").each(function(){
element=$(this).find('td:first').text();
others=$.map($(this).find('td').not(':first'),function(ele,i){
return parseFloat($(ele).text());
});
if(group_sum[element]==undefined)
{
group_sum[element]=others;
}
else
{
for(i in others)
{
group_sum[element][i]+=others[i];
}
}
})
console.log(group_sum);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<table id="mytable">
<thead>
<tr>
<th>A</th>
<th>B</th>
<th>C</th>
<th>D</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>11</td>
<td>12</td>
<td>13</td>
</tr>
<tr>
<td>1</td>
<td>10</td>
<td>10</td>
<td>10</td>
</tr>
<tr>
<td>2</td>
<td>10</td>
<td>10</td>
<td>10</td>
</tr>
<tr>
<td>3</td>
<td>10</td>
<td>10</td>
<td>10</td>
</tr>
<tr>
<td>3</td>
<td>10</td>
<td>10</td>
<td>10</td>
</tr>
<tr>
<td>3</td>
<td>10</td>
<td>10</td>
<td>10</td>
</tr>
</tbody>
</table>