39、[“1”, “2”, “3”].map(parseInt) 答案是多少
阿新 • • 發佈:2020-08-10
["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]