我正在尝试使用nodejs中的文本文件存储x和y值,但是我实际上不知道该怎么做。
文本文件看起来如下:
X Y
385 0.12567
386 0.25786
387 0.35789
388 0.45798
... .......
所以我试图使数组看起来像:
arr[x]= 385, 386, 387, 388 ...
arr[y]= 0.12567, 0.25786, 0.35789, 0.45798 ..
希望您能帮助我!
JS
您可以做这样的事情:
var fs = require('fs');
function readLines(input, done) {
var arr = [];
var remaining = '';
input.on('data', function(data) {
remaining += data;
var index = remaining.indexOf('n');
while (index > -1) {
var line = remaining.substring(0, index);
remaining = remaining.substring(index + 1);
func(line);
index = remaining.indexOf('n');
}
});
input.on('end', function() {
if (remaining.length > 0) {
func(remaining);
done(arr);
}
});
function func(data) {
arr.push(data.split(/s+/g));
}
}
var input = fs.createReadStream('test.txt');
readLines(input, done);
function done(arr) {
var obj = {};
var key1 = arr[0][0];
var key2 = arr[0][1];
obj[key1] = [];
obj[key2] = [];
arr.shift();
arr.forEach(function (item) {
obj[key1].push(item[0]);
obj[key2].push(item[1]);
});
console.log('X:', obj['X']);
console.log('Y:', obj['Y'])
}
输出:
X: [ '385', '386', '387', '388' ]
Y: [ '0.12567', '0.25786', '0.35789', '0.45798' ]
请参阅:node.js:将文本文件读取到数组中。(每行阵列中的项目。)