0

在此处输入图像描述 我正在调用 csv 文件以在 chart.js 中制作图表。它将数据拆分为两个数组,但数据(csv 文件)在底部包含两个空行,创建两个空数据点。我已经尝试过这行代码来尝试消除空数据点,但它似乎只删除了一个(底部有两个空行)。我做错了什么还是有更好的方法来做到这一点?

    if(rows[rows.length-1] ===""){
        rows.pop()
    }

完整代码在这里:

      async function getData() {
        // const response = await fetch('testdata.csv');
        var response = await fetch('https://www.bankofcanada.ca/valet/observations/FXCADUSD/csv?recent_weeks=1');
        var data = await response.text();
        data = data.replace(/"/g,"");

        var years = [];
        var temps = [];
        var rows = data.split('\n').slice(9);

        if(rows[rows.length-1] ===""){
            rows.pop()
        }

        rows.forEach(row => {
          var cols = row.split(",");
          years.push(cols[0]);
          temps.push(0 + parseFloat(cols[1]));
        });
        console.log (years, temps );
        return { years, temps };

4

1 回答 1

0

如果您知道最后两行是空的,只需使用sliceArray.prototype.slice)将它们切掉

 rows = rows.slice(0, rows.length - 2);

let a = [1,2,3,4,5];
a = a.slice(0, a.length-2);


console.log(a);

于 2020-02-13T22:01:16.170 回答