js parseInt和map函數


今天看了一個js的題目["1","2","3"].map(parseInt),看到后腦海中浮現的答案是[1,2,3],但是看到正確答案后蒙了,不知道為什么答案會是[1,NaN,NaN],看了解釋(http://developer.51cto.com/art/201504/474298_2.htm)但是還是沒明白,沒辦法,只好重新無看下parseInt和map函數了。

1、parsrInt()

以前一直只有用到parseInt(x),返回一個整數,但是今天重新學習后才知道原來parseInt還有一個可選參數

parseInt(string, radix)
參數 描述
string 必需。要被解析的字符串。
radix

可選。表示要解析的數字的基數。該值介於 2 ~ 36 之間。

如果省略該參數或其值為 0,則數字將以 10 為基礎來解析。如果它以 “0x” 或 “0X” 開頭,將以 16 為基數。

如果該參數小於 2 或者大於 36,則 parseInt() 將返回 NaN。

 

 

 

 

 

 

radix表示string的基數,當radix存在時,string以radix基數解析,當radix為0或者無時,根據string來解析,"0x" 開頭,以16進制解析,“0”開頭,以十進制或8進制解析,1-9開頭,以十進制解析

2、map()

map是對數組的每一個元素調用回調函數並返回一個包含結果的數組,有三個參數,其中一個可選參數

array1.map(callbackfn[, thisArg]) 
參數 定義
array1 必需。一個數組對象。
callbackfn 必需。一個接受**最多**三個參數的函數。對於數組中的每個元素,‘map‘ 方法都會調用 ‘callbackfn‘ 函數一次。
thisArg 可選。可在 ‘callbackfn‘ 函數中為其引用 ‘this‘ 關鍵字的對象。如果省略 ‘thisArg‘,則 ‘undefined‘ 將用作 ‘this‘ 值。

 

 

 

 

 

 

map中回調函數的語法:function callbackfn(value, index, array1),可使用最多三個參數來聲明回調函數。

第一參數value,數組元素的值;第二個參數index,數組元素的數組所以;array1,包含該元素的數組對象。

因此,["1","2","3"].map(parseInt)等於[parseInt(1,0),parseInt(2,1),parseInt(3,2)]

parseInt(1,0)//radix為0,1十進制為1

parseInt(2,1)//radix小於2,返回NaN

parseInt(3,2)//radix為2,3的二進制NaN


免責聲明!

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



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