当前位置: 首页 > 面试题库 >

列总计

蒙才
2023-03-14
问题内容
请在这里参考上一个问题:jQuery中列的总和
我使用了Aymen的解决方案,但是我根据自己的需要对其进行了编辑。它停止工作,我的代码如下所示,如jsfiddle所示: http
//jsfiddle.net/unKDk/15/
    <table id="sum_table" width="300" border="1">
        <tr class="titlerow">
            <td>Apple</td>
            <td>Orange</td>
            <td>Watermelon</td>
            <td>Strawberry</td>
            <td>Total By Row</td>
        </tr>
        <tr>
            <td class="rowAA">1</td>
            <td class="rowAA">2</td>
            <td class="rowBB">3</td>
            <td class="rowBB">4</td>
            <td class="totalRow"></td>
        </tr>
        <tr>
            <td class="rowAA">1</td>
            <td class="rowAA">2</td>
            <td class="rowBB">3</td>
            <td class="rowBB">4</td>
            <td class="totalRow"></td>
        </tr>
        <tr>
            <td class="rowAA">1</td>
            <td class="rowAA">5</td>
            <td class="rowBB">3</td>
            <td class="rowBB">4</td>
            <td class="totalRow"></td>
        </tr>
        <tr class="totalColumn">
            <td class="totalCol">Total:</td>
            <td class="totalCol">Total:</td>
            <td class="totalCol">Total:</td>
            <td class="totalCol">Total:</td>
            <td class="totalCol">Total:</td>
        </tr>
    </table>

jQuery部分是

    var totals=[0,0,0,0,0];
    $(document).ready(function(){

        var $dataRows=$("#sum_table tr:not('.totalColumn, .titlerow')");

        $dataRows.each(function() {
            $(this).find('.rowAA').each(function(i){        
                totals[i]+=parseInt( $(this).html());
            });

            $(this).find('.rowBB').each(function(i){        
                totals[i]+=parseInt( $(this).html());
            });        
        });
        $("#sum_table td.totalCol").each(function(i){  
            $(this).html("total:"+totals[i]);
        });

    });
  1. 如何解决导致jquery计算错误的问题。
  2. 如何按行计算总计
  3. 我需要完全相同的类名。

问题答案:

我不太确定自己想要什么,但是如果您只想按列汇总所有行,请参见下文。

    var totalsByRow = [0, 0, 0, 0, 0];
    var totalsByCol = [0, 0, 0, 0, 0];
    $(document).ready(function() {

        var $dataRows = $("#sum_table tr:not('.totalColumn, .titlerow')");

        $dataRows.each(function(i) {
            $(this).find('td:not(.totalRow)').each(function(j) {
                totalsByCol[j] += parseInt($(this).html());
                totalsByRow[i] += parseInt($(this).html());
            });
        });

        for (var i = 0; i < totalsByCol.length - 1; i++) {
            totalsByCol[totalsByCol.length - 1] += totalsByCol[i];       
        }    

        $("#sum_table td.totalCol").each(function(i) {
            $(this).html("total:" + totalsByCol[i]);
        });

        $("#sum_table td.totalRow").each(function(i) {
            $(this).html("total:" + totalsByRow[i]);
        });
    });

演示



 类似资料:
  • 问题内容: 我正在使用SQLite,并尝试返回该列中某一列的总数,同时返回所有数据。我不想/不需要对数据进行分组,因为我需要在每个返回的行中都包含数据。 当我包含类似内容时, 它仅返回一行。我需要所有返回的行以及所有条目的总数。 问题答案: 听起来这就是您要寻找的内容: 参见带有演示的SQL Fiddle

  • 问题内容: 目标 我有一个Pandas数据框,如下所示,具有多个列,并希望获取列的总数。 数据框 -: 我的尝试 : 我试图使用和获得列的总和: 这将导致以下错误: 预期产量 我期望输出如下: 或者,我想编辑一个包含总数的新标题: 问题答案: 您应该使用: 然后与配合使用,在这种情况下,索引应设置为与需要求和的特定列相同: 因为如果传递标量,则将填充所有行的值: 另有两个解决方案,请参见以下应用程

  • 问题内容: 让 假设我要对列表中每个列表的索引元素求和,例如在矩阵列中添加数字以获得单个列表。我假设数据中的所有列表的长度均相等。 如何遍历列表列表而不会出现索引超出范围错误?也许lambda?谢谢! 问题答案: 您可以尝试以下方法: 这里使用的组合和解压的列表,然后根据自己的索引压缩的项目。然后,您可以使用列表推导来遍历相似索引的组,对其进行求和并返回其“原始”位置。 为了更清楚一点,下面是迭代

  • 问题内容: 为要求和的列创建索引比没有索引快吗? 问题答案: 抱歉,不清楚您要问什么。 您是否在询问,是否会加快查询速度,例如 是否添加了数量指标? 如果这是问题,那么答案是否定的。一般而言,当您需要在多行中查找几行时,索引会很有用;这里您需要所有行,因此索引无济于事。 有一个晦涩的例外(这种例外情况适用,因此大多数数据库优化器很少会不介意实施此技巧)。如果您的查询碰巧是 ,其中在foo上有一个索

  • 我试图计算每列CSV的总和。我能够读取csv在js使用readfile方法。我也能够循环使用它,并将数据解析成对象数组。现在我只是想出一种方法来把所有的列元素加起来,这就是我正在努力的地方。我的csv对象是对象格式的数组,看起来像这样。 CSV输入如下所示: 我想补充18 19 20最终答案应该是这样的[57,518]。 到目前为止,我已经完成了这些工作,我只需要帮助来改进这一点,并在JS中按列添

  • 本文向大家介绍C#编程总结(一)序列化总结,包括了C#编程总结(一)序列化总结的使用技巧和注意事项,需要的朋友参考一下 序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。 几种序列化技术: 1)二进制序列化保持类型保真度,这对于在应用程序的不同调用之间保留对象的状态很有用。例如,通过将对象序列化到剪贴板,可在