读取文本文件行并将 x 和 y 值存储在数组中(NodeJS)
Posted
技术标签:
【中文标题】读取文本文件行并将 x 和 y 值存储在数组中(NodeJS)【英文标题】:Read textfile lines and store the x- and y- values in an array (NodeJS) 【发布时间】:2014-01-22 15:34:59 【问题描述】:我正在尝试使用 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
【问题讨论】:
【参考方案1】:你可以这样做:
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: read a text file into an array. (Each line an item in the array.)
【讨论】:
以上是关于读取文本文件行并将 x 和 y 值存储在数组中(NodeJS)的主要内容,如果未能解决你的问题,请参考以下文章