Node.js解析最小值和最大值返回错误值

基思·M

我正在使用csv-parser来解析我拥有的csv文件。然后,在解析每一行时,我正在检查该行中的每个值以获取最小值和最大值。

我的问题是我的max在COL和ROW列中始终保持为99。当它们的最大行数约为200,列数为300时。据我所知我的方法应该起作用,我不确定在那里发生了什么。

这是我的相关代码:

var mins = {}
var maxs = {}
function loadCSV(finishedCallback) {
    console.log("Loading csv...");
    fs.createReadStream(__dirname + '/data.csv')
    .pipe(stream)
    .on('data', function (data) {
        for (var k in data) {
              if (data.hasOwnProperty(k)) {
                  if (mins[k] == undefined)
                      mins[k] = data[k];
                  if (maxs[k] == undefined)
                      maxs[k] = data[k];

                  if (mins[k] > data[k])
                      mins[k] = data[k];
                  if (maxs[k] < data[k])
                      maxs[k] = data[k];

              }
          }
      }).on('finish', function () {
          console.log("Finished reading csv!")
          finishedCallback();
          console.log("Maxs: " + JSON.stringify(maxs));
          console.log("Mins: " + JSON.stringify(mins));
          return true
      })
}

这是我的CSV文件的前几行:(我知道重复的x和y字段,我最终不会使用then)

X,Y,X,Y,ROW,COL,EMH,EMV,ASP,DEM,SLOPE
495118.8125,4469900.5,495118.80000,4469901.00000,0,79,15.56310,8.11320,285.65760,318.85077,0.12900
495120.8125,4469900.5,495120.80000,4469901.00000,0,80,15.64225,8.12110,286.47190,318.87570,0.13107
495122.8125,4469900.5,495122.80000,4469901.00000,0,81,15.76020,8.10590,287.70340,318.91686,0.13890

我很伤心,我可能很愚蠢,缺少明显的东西:P

罗伯特克莱普

您正在比较字符串而不是数字:

$ node
> '99' > '300'
true

因此,在进行任何比较之前,请先将其转换data[k]为数字:

var value = Number(data[k]);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用node.js sdk从dynamoDb获取最小值和最大值

来自分类Dev

数学最小值和最大值返回NaN

来自分类Dev

最小值和最大值

来自分类常见问题

Postgres如何在最小值列和最大值列之间返回值

来自分类Dev

根据另一列的值返回列的最小值和最大值的函数

来自分类Dev

Postgres如何在最小值列和最大值列之间返回值

来自分类Dev

SQLite 返回的最小值大于最大值

来自分类Dev

计算最大值和最小值Javascript时得到错误的值

来自分类Dev

NumericUpDown 错误:值应介于最小值和最大值之间

来自分类Dev

获取Clojure中的最大值和最小值

来自分类Dev

查找函数的最小值和最大值

来自分类Dev

数组中的Java最小值和最大值

来自分类Dev

在列表中交换最大值和最小值

来自分类Dev

使用最小值和最大值的置信带

来自分类Dev

使用awk的最大值和最小值

来自分类Dev

列表集合中的最小值和最大值

来自分类Dev

在.json中查找最大值和最小值

来自分类Dev

awk查找数组的最小值和最大值

来自分类Dev

SQL本地最小值和最大值

来自分类Dev

dygraph:显示最大值和最小值

来自分类Dev

SQL查询最小值和最大值

来自分类Dev

Google图表上的最大值和最小值

来自分类Dev

确定滑块范围的最小值和最大值

来自分类Dev

每组的最小值和最大值

来自分类Dev

gnuplot:如何绘制最大值和/或最小值

来自分类Dev

铲斗以最大值和最小值排序

来自分类Dev

列的最大值和最小值之间的差异

来自分类Dev

熊猫的最大值和最小值

来自分类Dev

每组保持顺序的最小值和最大值