拆分字符串,将其解析为int并分配给其他变量

时间:2019-03-17 18:33:34

标签: javascript node.js

我需要从文件中读取一些数字
input.txt // [1,2,3] [4,5,6] 5 10
并将它们关联到变量
a = 1, 2, 3
b = 4, 5, 6
a b 必须是数字数组
c = 5
d = 10
有我卡住的地方:

const fs = require('fs');

var [a, b, c, d] = fs.readFileSync('input.txt', 'utf8').split(' ');

console.log('a:' + a + '\nb:' + b + '\nc:' + c + '\nd:' + d);  

控制台:

a:[1,2,3]
b:[4,5,6]
c:5
d:10

所有变量都是字符串。
接下来我该怎么办?我是否需要分别解析每个变量,或者还有其他一些理想的解决方案?
预先感谢!

2 个答案:

答案 0 :(得分:9)

您可以将JSON.parse()Array.map()一起使用:

let input = "[1,2,3] [4,5,6] 5 10";

let [a,b,c,d] = input.split(" ").map(e => JSON.parse(e));

console.log(Array.isArray(a));
console.log(Array.isArray(b));
console.log(a);
console.log(b);
console.log(c);
console.log(d);

答案 1 :(得分:1)

您只需将值解析为JSON即可,如下所示:

var [a, b, c, d] = fs.readFileSync('input.txt', 'utf8').split(" ").map(a => JSON.parse(a));