數組的map方法以及parseInt函數


原題: ['1', '2', '3'].map(parseInt);

第一次分解:

['1', '2', '3'].map((item, index) => { return parseInt(item, index) }) 第二次分解 parseInt('1', 0) // 1 parseInt('2', 1) // NaN parseInt('3', 2) // NaN, 3 不是二進制  結果 ['1', '2', '3'].map(parseInt) // 1, NaN, NaN
  • array.map(function(currentValue,index,arr))
    • currentValue: 必須,循環到的數組的當前值
    • index: 可選,循環到的數組的當前值的索引
    • arr: 可選,當前元素所屬的數組對象,即調用這個方法的array
  •  parseInt("要轉換的字符串", 進制基數radix) 
    • 進制基數:可以是 2,8,10,16,默認以 10 進制處理
    • radix為 undefined,或者radix為 0 或者沒有指定的情況下,JavaScript 作如下處理:

      • 如果字符串 string 以"0x"或者"0X"開頭, 則基數是16 (16進制).
      • 如果字符串 string 以"0"開頭, 基數是8(八進制)或者10(十進制),那么具體是哪個基數由實現環境決定。ECMAScript 5 規定使用10,但是並不是所有的瀏覽器都遵循這個規定。因此,永遠都要明確給出radix參數的值。
      • 如果字符串 string 以其它任何值開頭,則基數是10 (十進制)。

    

原題:['10','10','10','10','10'].map(parseInt);

第一次分解:

['10','10','10','10','10'].map((item, index) => {
    return parseInt(item, index)
})

第二次分解
parseInt('10', 0) // 10
parseInt('10', 1) // NaN
parseInt('10', 2) // 2
parseInt('10', 3) // 3
parseInt('10', 4) //4


結果
['10','10','10','10','10'].map(parseInt);// 10 NaN 2 3 4

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM