["1", "2", "3"].map(parseInt) 答案是多少?


讓我們先看看最直接最粗暴的方式

 沒錯,答案就是:[1, NaN, NaN],那為什么答案是[1, NaN, NaN]呢?

    1.讓我們先了解一下map函數的定義

 JavaScript Array map() 方法

 定義和用法

  map() 方法返回一個新數組,數組中的元素為原始數組元素調用函數處理后的值。

  map() 方法按照原始數組元素順序依次處理元素。

  注意: map() 不會對空數組進行檢測。

  注意: map() 不會改變原始數組。

 


因為 parseInt 需要兩個參數 (val, radix), map 傳了 3 (element, index, array)

  即原例子相當於

  [parseInt("1",0),parseInt("2",1),parseInt("3",2)]

        

 

  分析:

  按十進制轉換輸出1
  1不在2~36之間,輸出NaN
  字符串"3"里面沒有合法的二進制數,輸出NaN
  所以最后結果是[1,NaN,NaN]


免責聲明!

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



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