【问题标题】:find Math.min row value查找 Math.min 行值
【发布时间】:2020-01-25 12:25:25
【问题描述】:

我想找到 Math.min 的行值,但我不知道如何找到这个,即使我已经用谷歌搜索了几天。
有人可以告诉如何解决这个问题吗?

function getDataPointsFromCSV(csv) {

            var dataPoints = csvLines =  [];   
            var price;                   
            var lowestv = Infinity; 
<!-- read csv file      
            csvLines = csv.split(/[\r?\n|\r|\n]+/);
<!-- read row 1-10          
            for (var i = 1; i <= 10; i++)
                if (csvLines[i].length > 0) {
<!-- read csv file              
                    points = csvLines[i].split(",");
<!-- read the data from points[4]=(coloumn5)                    
                    price = points[4]
<!-- find the row number which store lowest value in a coloumn              
                    lowestv = Math.min(price, lowestv) 
<!-- fault example; the value that I want to find is lowestv.length
                    for (var i = lowestv.length; i <= lowestv.length+10; i++)                   
             }                                          
        return dataPoints;
        }

【问题讨论】:

  • 我不明白这个问题,你能澄清一下吗?
  • 这是实际代码吗,最后没有正文 for 循环和 JS 中的 HTML cmets?
  • 你为什么要分裂?这个字符?
  • 正则表达式应该是/[\r\n]+/
  • JavaScript cmets 以 // 开头,而不是 &lt;!--

标签: javascript csv


【解决方案1】:

不要使用Math.min()。只需测试price 是否低于lowestv。如果是,请将价格保存在lowestv 中,并将该行保存在另一个变量中。

function getDataPointsFromCSV(csv) {
  csvLines = csv.split(/[\r\n]+/);
  let lowestv = Infinity;
  let lowestrow;
  csvLines.forEach(line => {
    row = line.split(',');
    price = row[4];
    if (price < lowestv) {
      lowestv = price;
      lowestrow = row;
    }
  })
  return lowestrow;
}

【讨论】:

  • 感谢您的帮助,我正在尝试在此函数中添加循环
猜你喜欢
  • 2020-05-13
  • 1970-01-01
  • 2013-02-24
  • 2023-04-05
  • 2023-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多