在Javascript

时间:2017-02-15 20:25:34

标签: javascript csv

我有一个带有列标题的tsv文件。 例如: Name group town age 其中一个栏目是“年龄”。现在我想输出完整的行,其中年龄大于或等于50.

我做了以下事情:

if (file.name === 'participant.tsv'){
  for (var i = 0; i < rows.length; i++) {
    var row = rows[i];
    var values = row.split('\t');
    for (var j = 0; j < values.length; j++) {
      var headers = rows[0].split('\t');
      var ageIdColumn = headers.indexOf('age');
      var value = values[j]
      // age = Number(value)
        if (value == 89 || value > 89) {
            do so as so;
        };

但没有运气..有人能指出我犯错的地方吗?

上述脚本适用于年龄为89岁但年龄高于89岁时则无效。

1 个答案:

答案 0 :(得分:1)

您可以先ageIndex(因为它的静态)然后循环rows

当条件age >= 50为真时,将该行推入filteredRows

&#13;
&#13;
var filteredRows = [];
var headers = rows[0].split('\t');
var ageIndex = headers.indexOf('age');

if (file.name === 'participant.tsv') {
  rows.forEach(function(row) {
    var age = row.split('\t')[ageIndex];
    if (Number(age) >= 50) filteredRows.push(row);
  });
}
&#13;
&#13;
&#13;