从dataTables中获取不同的值,并使用JS对特定字段求和的方法如下:
<table id="myTable">
<thead>
<tr>
<th>Name</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>Item 1</td>
<td>10</td>
</tr>
<tr>
<td>Item 2</td>
<td>20</td>
</tr>
<tr>
<td>Item 1</td>
<td>30</td>
</tr>
</tbody>
</table>
$(document).ready(function() {
var table = $('#myTable').DataTable();
var uniqueValues = [];
var sum = 0;
table.column(0).data().each(function(value, index) {
if (!uniqueValues.includes(value)) {
uniqueValues.push(value);
}
});
uniqueValues.forEach(function(value) {
var rows = table.rows(function(index, data, node) {
return data[0] === value;
}).data();
var columnData = rows.toArray().map(function(row) {
return parseInt(row[1]);
});
var columnSum = columnData.reduce(function(a, b) {
return a + b;
}, 0);
sum += columnSum;
});
console.log('Sum:', sum);
});
上述代码中,我们首先获取表格的数据,并遍历第一列的值,将不重复的值存储在uniqueValues
数组中。然后,对于每个不重复的值,我们获取与之匹配的行,并提取第二列的值。接下来,我们使用reduce
方法对每个列的值进行求和,并将结果累加到sum
变量中。最后,我们打印出求和的结果。
请注意,上述代码仅适用于dataTables库。如果你使用的是其他表格库或自己手动处理表格数据,代码可能会有所不同。
希望以上内容对你有帮助!如果你有任何其他问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云