在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ ["1","2","3&quo

["1","2","3"].map(parseInt),結(jié)果為什么是1,NaN,NaN??

網(wǎng)上解釋說,上面那段代碼相當(dāng)于[parseInt(1,0),parseInt(2,1),parseInt(3,2)],我不是很理解為什么是這樣的

回答
編輯回答
空白格

圖片描述

圖片描述

2017年9月24日 14:34
編輯回答
孤客

Array.map會(huì)接收一個(gè)callback

arr.map(function callback(currentValue, index, array) {
    // Return element for new_array
}[, thisArg])

這里parseInt就作為map的callback出現(xiàn), 所以實(shí)際執(zhí)行的就是[parseInt(1,0),parseInt(2,1),parseInt(3,2)]

而parseInt本身就有兩個(gè)參數(shù)parseInt(string, radix)
第一個(gè)是需要parse的字符串,第二個(gè)是進(jìn)制, 所以最后的結(jié)果是1,NaN, NaN

2017年12月15日 00:23
編輯回答
毀與悔

map函數(shù)會(huì)給callback傳遞三個(gè)參數(shù),被遍歷的元素、元素的索引和被遍歷的數(shù)組本身。
parseInt會(huì)接收兩個(gè)參數(shù),第一個(gè)參數(shù)代表需要parse的這個(gè)數(shù)字,第二參數(shù)代表進(jìn)制,所以會(huì)出現(xiàn)你說的那種情況。

2017年2月5日 08:21
編輯回答
入她眼

你可以 看看我的文章

第一題
https://segmentfault.com/a/11...

2017年3月25日 05:08
編輯回答
維她命

相當(dāng)于這樣

[1, 2, 3].map((num, index) => parseInt(num, index))

而parseInt接收的第二個(gè)參數(shù)會(huì)作為將要轉(zhuǎn)換的進(jìn)制,只接受2到36之間的整數(shù)
0估計(jì)是布爾為false了,使用默認(rèn)進(jìn)制,也就是10進(jìn)制
1是不被允許的進(jìn)制,應(yīng)該是相當(dāng)于錯(cuò)誤去處理了,無(wú)論怎么樣都會(huì)返回NaN
二進(jìn)制中是沒有3的,為NaN

大概是這樣,沒有詳細(xì)驗(yàn)證,見諒

2017年5月29日 05:43