我正在尝试访问一个文本文件并拥有一个数组,并且每行都是一个数字数组。
它返回node.js
9235
9096 637
我希望它返回
[[9235],
[[9096],[637]]
Index.js
console.log("Hello World");
var fs = require('fs');
var array = fs.readFileSync('txt/numbers.txt').toString().split("\n");
for(i in array) {
console.log(array[i]);
}
numbers.txt
9235
9096 637
答案 0 :(得分:0)
遍历这些行,然后使用.split(" ")
获取数字数组,并将它们推送到数组。
console.log("Hello World");
var fs = require('fs');
var lines = fs.readFileSync('numbers.txt', 'utf8').split("\n");
var result = [];
for(var i = 0; i < lines.length; i++) {
//push each line as an array of numbers
result.push(lines[i].trim().split(" ").map(Number));
// ^ convert items to integer
}
console.log(JSON.stringify(result)); //[[9235],[9096,637]]
答案 1 :(得分:0)
这是一种简单的方法。
var ar = ["9235", "9096 637"];
for (var i in ar) {
var e = ar[i];
if (e.indexOf(" ") > -1) {
ar[i] = e.split(" ");
} else {
ar[i] = new Array(e);
}
}
console.log(JSON.stringify(ar));
答案 2 :(得分:0)
如果其他答案不正确,并且您实际上想要每行的数组数组:
array.map(function(line) {
return line.match(/\d+/g).map(function (n) {
return [+n];
});
});