1. 程式人生 > >["1", "2", "3"].map(parseInt) 結果

["1", "2", "3"].map(parseInt) 結果

callback 三個參數 進制 parse pan 簡單 箭頭 索引 BE

// 下面的語句返回什麽呢:
["1", "2", "3"].map(parseInt);
// 你可能覺的會是[1, 2, 3]
// 但實際的結果是 [1, NaN, NaN]

// 通常使用parseInt時,只需要傳遞一個參數.
// 但實際上,parseInt可以有兩個參數.第二個參數是進制數.
// 可以通過語句"alert(parseInt.length)===2"來驗證.
// map方法在調用callback函數時,會給它傳遞三個參數:當前正在遍歷的元素, 
// 元素索引, 原數組本身.
// 第三個參數parseInt會忽視, 但第二個參數不會,也就是說,
// parseInt把傳過來的索引值當成進制數來使用.從而返回了NaN.
function returnInt(element) { return parseInt(element, 10); } [‘1‘, ‘2‘, ‘3‘].map(returnInt); // [1, 2, 3] // 意料之中的結果 // 也可以使用簡單的箭頭函數,結果同上 [‘1‘, ‘2‘, ‘3‘].map( str => parseInt(str) ); // 一個更簡單的方式: [‘1‘, ‘2‘, ‘3‘].map(Number); // [1, 2, 3] // 與`parseInt` 不同,下面的結果會返回浮點數或指數: [‘1.1‘, ‘2.2e2‘, ‘3e300‘].map(Number); //
[1.1, 220, 3e+300]

["1", "2", "3"].map(parseInt) 結果