новый для узла JS, все еще привыкший к тому, как все сделано. Я обрабатываю файл с этой структурой:Вызывает заказ в узле js
[1447113604] [104] [86]
[1447113605] [111] [91]
[1447113606] [127] [114]
[1447113607] [115] [105]
[1447113608] [120] [101]
[1447113609] [105] [100]
[1447113610] [89] [88]
Я прочитал его построчно, разобрать каждую строку и создать и объект, который имеет 3 свойства (метки времени, count1, count2), а затем добавить новый объект к массиву, в конце я хочу пройти через массив и напечатать его элементы с циклом for.
var readline = require('readline');
var fs = require('fs');
var arr_counters = [];
var rl = readline.createInterface({
input : fs.createReadStream("cps.log"),
output: process.stdout,
terminal: false
})
rl.on('line',function(line){
console.log(line) //or parse line
var tokens = line.split(" ");
var str_TS = tokens[0].substring(1,11); //strip '[' ']'
var int_p = tokens[1].substring(1, tokens[1].length - 1); //strip '[' ']'
var int_c = tokens[2].substring(1, tokens[2].length - 1);//strip '[' ']'
console.log(str_TS.toString());
console.log(int_p.toString());
console.log(int_c.toString());
var counter = {
timestamp: parseInt(str_TS),
PCount: parseInt(int_p),
CCount: parseInt(int_c)
}
arr_counters.push(counter);
})
for (var index = 0; index < arr_counters.length; index++)
console.log(arr_counters[index]);
Но последние 2 строки, казалось, пропустил, я не могу видеть элементы массива: Это выходной ток:
E:\Node-JS>node read_file2.js
[1447113604] [104] [86]
1447113604
104
86
[1447113605] [111] [91]
1447113605
111
91
[1447113606] [127] [114]
1447113606
127
114
[1447113607] [115] [105]
1447113607
115
105
[1447113608] [120] [101]
1447113608
120
101
[1447113609] [105] [100]
1447113609
105
100
Если я устанавливаю для цикла сразу после нажав объект в массиве, я вижу их как они добавляются на каждой итерации, вопрос в том, как я могу получить доступ к массиву правильно после того, как он был заполнен объектами?
спасибо, это работает – user3196371