2016-05-14 79 views
0

我问,如果有是读取容易人数这个类型的输入字符串(如竞争性节目)的方法或库:图书馆阅读从一个字符串的数字在JS

2 3 
0 1 20 
1 2 2 
0 2 17 

我发现的东西像Scanner class of Java,因为它有方法来检测是否有下一个数字,它跳到下一行,...

在此先感谢!

+0

你想数字数组,或一组嵌套的数组,每行一个?你不解释你想要用数字来做什么。 – Andy

+0

我要检查每个数字。具体来说,第一行的第二个数字必须等于下一行的数量。 – PinaGamer

回答

1

请使用parseInt来读取数字。您还可以得到数字的排列与像您提供与服用点这样的那些字符串:

var numbers = str.split(" ").map(function(item) { return parseInt(item); }); 
0

如果您有机会获得线,你可以使用以下命令:

var i, lines = [ /* your lines goes here */], row; 
// get lines 
for (i = 0; i < lines.length; i++) { 
    row = lines[i].split(' ').map(Number); 
    // do something with row 
} 
0

的你可以做的最好的事情是使用函数式编程来实现一套你可以用你认为合适的方式一起使用的方法。

const byLine = (input) => input.split('\n'); 
const toInt = (el) => Number(el); 
const getDigits = (el) => el.split(' ').map(toInt); 
const flatten = (arr) => arr.reduce((p, c) => p.concat(c)); 

function scanner(input) { 
    return flatten(byLine(input).map(getDigits)); 
} 

DEMO