2017-05-13 49 views
-1

我有一个文本文件,需要从不同的行中提取一些数字。数字的序列并不总是相同的,所以我需要循环,直到没有更多的数字。下面是一行示例。Javascript从文本文件循环读取数字,直到没有更多数字

编号:1,2,3,4(222.000,222.000),(333.000,222.000),.....,

需要创建一个循环这里(下图)

output1=output1.split("\n").filter(/./.test, /Numbers/).map(line => line.split(/,|\(|\)/).filter(number => number != "")[7]).join("\n"); 
output2=output2.split("\n").filter(/./.test, /Numbers/).map(line => line.split(/,|\(|\)/).filter(number => number != "")[8]).join("\n"); 
output3=output3.split("\n").filter(/./.test, /Numbers/).map(line => line.split(/,|\(|\)/).filter(number => number != "")[9]).join("\n"); 
output4=output4.split("\n").filter(/./.test, /Numbers/).map(line => line.split(/,|\(|\)/).filter(number => number != "")[10]).join("\n"); 
output5=output5.split("\n").filter(/./.test, /Numbers/).map(line => line.split(/,|\(|\)/).filter(number => number != "")[11]).join("\n"); 
output6=output6.split("\n").filter(/./.test, /Numbers/).map(line => line.split(/,|\(|\)/).filter(number => number != "")[12]).join("\n"); 
output7=output7.split("\n").filter(/./.test, /Numbers/).map(line => line.split(/,|\(|\)/).filter(number => number != "")[13]).join("\n"); 
+3

请更清楚。我不明白你在问什么。 –

+1

需要采取上面的代码行,并将其循环..对于每个变量...它将从文本中分配数量。 –

回答

0

您可以创建一个函数返回的字符串输入.split().map().filter()电话。创建具有属性名称的对象,反映索引的值对以括号表示设置为属性,并将字符串输入设置为值。使用.forEach()来迭代对象数组,在每个对象上调用函数。

function filter(str, index) { 
    return str.split("\n").filter(/./.test, /Numbers/) 
     .map(line => line.split(/,|\(|\)/) 
     .filter(number => number != "")[index]).join("\n") 
}; 

[output1, output2, output3, output4, output5, output6, output7] = 
[{7:output1}, {8:output2}, {9:output3}, {10:output4} 
, {11:output5} {12:output6}, {13:output7}] 
.map(o => filter.apply(null, Object.entries(o).pop())); 
相关问题