这个javascript在解析csv文件时保持循环打印数据

This javascript keeps printing data in a loop when parsing a csv file

本文关键字:循环 打印 数据 文件 javascript csv 这个      更新时间:2023-09-26

我使用Papa Parse和jQuery成功地解析、过滤和打印了一个CSV文件。不幸的是,我似乎已经设法建立了某种循环,输出不断打印到网页上。

代码如下,我知道这可能是显而易见的,但我已经做了一段时间了,只是看不见!

function organize(data) {
    var finalLpc = [];
    data.forEach(function(branch) {
        if (branch.BranchNo == 1515) {
            finalLpc.push(branch);
        }
        var $tableBody = $('<tbody></tbody>');
        for (var i = 0; i < finalLpc.length; i++) {
            var branch = finalLpc[i];
            var $row = $('<tr></tr>');
            $row.append($('<td></td>').text(branch.Area));
            $row.append($('<td></td>').text(branch.LPC));
            $tableBody.append($row);
        }
        $('thead').after($tableBody);
    });
}
function parseData(url, callBack) {
    Papa.parse(url, {
        download: true,
        header: true,
        dynamicTyping: true,
        complete: function(results) {
            callBack(results.data);
        }
    });
}
parseData("lpc.csv", organize);

如有任何帮助,我们将不胜感激。我在这里用了一些例子来说明我现在的处境。

感谢Mike McCaughan为我指明了正确的方向,我已经设法解决了这个问题,并将答案分享给子孙后代。

        function organize(data) {
        var finalLpc = [];
        data.forEach(function(branch){
            if (branch.BranchNo == 1197) {
                finalLpc.push(branch);
            }
            });
            var $tableBody = $('<tbody></tbody>');
            for (var i = 0; i < finalLpc.length; i++) {
                var branch = finalLpc[i];
                var $row = $('<tr></tr>');
                $row.append($('<td></td>').text(branch.Area));
                $row.append($('<td></td>').text(branch.BranchName));
                $row.append($('<td></td>').text(branch.LPC));
                $tableBody.append( $row );
            }
            $('thead').after($tableBody);
    }

    function parseData(url, callBack) {
    Papa.parse (url, {
        download: true,
        header: true,
        dynamicTyping: true,
        complete: function(results) {
        callBack(results.data);
        }
    });
}
parseData("lpc.csv", organize);