为txt文件中的每一行执行节点功能

时间:2016-09-18 23:01:50

标签: javascript node.js

我有一个项目列表,我试图为每个项目调用一个函数。每行都有一个名称和价格,我试图将它们设置为函数的变量。

我可以列出项目,但我不能单独调用一个函数。这就是我所拥有但却无法弄清楚的。谢谢!

var readline = require('readline');
var rl = readline.createInterface({
      input : fs.createReadStream('./items/item.txt'),
      output: process.stdout,
      terminal: false
})
rl.on('line',function(line){
     console.log(line) //or parse line
     for(i in line){
        //do action!

     }
})

2 个答案:

答案 0 :(得分:0)

 for(i in line){
     //pass
 }

返回此行的字符串

如果您的行格式为 foobar 1.23,你可以在空间爆炸

rl.on('line', function(line){

     var item = line.split(' ');
     var itemName = item[0];
     var itemPrice = item[1];
     doAction(itemName, itemPrice);
})

或使用带捕获组的RegExp

或者可能使用其他格式;对于像JSON

这样的每一行

答案 1 :(得分:0)

你可以尝试这种方式,你可以尝试如下:

const items = fs.readFileSync(path.join(__dirname, file), 'utf-8').split('\n');

items.forEach((item) => {
    // do your action
    let name = item.split('--')[0];
    let price = item.split('--')[1]
})