我正在嘗試將一串數字轉換為每個數字的元素陣列。我以為 parseInt 會將字串轉換為數字,但我現在有點迷路了。
const str = '1 2 3 4';
let words = parseInt(str);
words = str.split(' ');
這導致
Array ["1", "2", "3", "4"]
但是,我希望結果是
[1, 2, 3, 4]
uj5u.com熱心網友回復:
您可以應用一個小地圖功能來做到這一點。當您進行這樣的簡單轉換時,您可以使用 map 引數中的單個方法作為快捷方式
str.split(' ').map(Number)
是相同的
str.split(' ').map(n => Number(n))
這與
str.split(' ').map(n => {
return Number(n);
})
const str = '1 2 3 4';
let words = str.split(' ').map(Number)
console.log(words);
uj5u.com熱心網友回復:
str.split(' ').map(Number)不是給定資料的錯誤答案,但是如果給定一個字串'1 2 3 4'怎么辦?結果將是[1, 0, 0, 0, 2, 3, 0, 0, 0, 4]。
所以也許
[...str].reduce((r,c) => c === " " ? r : (r.push( c),r),[]);
或者
[...str].reduce((r,c) => c === " " ? r : r.concat( c),[]);
可能會做得更好。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/408521.html
標籤:
