2016-05-14 55 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