0
我想學習JavaScript與Node.js工作,顯然不完全封閉。 我嘗試逐行讀取文件,解析行並將結果放入數組並返回數組。這是我有(不太工作):javascript關閉和返回數組元素
var fs = require('fs'), Lazy = require('lazy');
function parseMyFile (filename) {
var myArray= [];
var lazy = new Lazy (fs.createReadStream(filename));
lazy
.lines
.map(function(line){
var parts = line.toString().split('|');
var item = {
bucket: parts[1],
uri: parts[2].substring(2),
token: parts[0],
fileDate: parts[3]
};
myArray.push (item);
});
console.log(myArray); // empty
return myArray;
};
var myItems = parseMyFile ('Tokens.csv');
我敢肯定,這與閉包有關,只是不太明白。任何幫助,將不勝感激。
謝謝!
請詳細說明「不太工作」。 – Deestan 2012-08-07 13:09:45
代碼本身似乎是正確的......你是否檢查了一個'console.log(line)'如果它正在做它應該做的地圖? – NicoSantangelo 2012-08-07 13:10:42
@Deestan它是OP的代碼,但不是問題文本:「'console.log(myArray); // empty'」。 OP期望'myArray'在空時是非空的。 – apsillers 2012-08-07 13:11:18