我有一个带有列标题的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岁时则无效。
答案 0 :(得分:1)
您可以先ageIndex
(因为它的静态)然后循环rows
当条件age >= 50
为真时,将该行推入filteredRows
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;