91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JS面試題['1',?'7',?'11'].map(parseInt)怎么解決

發布時間:2022-08-31 10:35:01 來源:億速云 閱讀:154 作者:iii 欄目:開發技術

這篇文章主要介紹“JS面試題['1', '7', '11'].map(parseInt)怎么解決”,在日常操作中,相信很多人在JS面試題['1', '7', '11'].map(parseInt)怎么解決問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”JS面試題['1', '7', '11'].map(parseInt)怎么解決”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

輸出結果

['1', '7', '11'].map(parseInt)  //  結果輸出 -> [1, NaN, 3]

為什么輸出會有 NaN ? 為什么把 11 轉成整數會是 3

想把數組里的字符串數字轉換成整數,于是使用 map函數來對數組的每一項作用,作用的函數是 parseInt函數,所以預期的結果應該是[1,7,11] ,然而最終瀏覽器的 JavaScript 引擎給出的答案是 [1, NaN, 3]

從結果可以看到 1 是正常進行轉化的,后面兩個數則不是我們預期的結果。

map函數有問題?

現在我們把 parseInt 換掉,功能改為給每一個數乘 2

['1', '7', '11'].map(function(x){
	return x * 2;     // 結果 -> [2, 14, 22]
});

發現結果是正常的,x代表從數組里拿到的每一個值,在依次去乘以2 ,沒問題。

可是問題來了,除了x,會不會有其它參數,存不存在其它可以使用的參數。于是我們試驗下:

['1', '7', '11'].map(function(x, i, j, k){
	console.log(x +' ' + i + ' ' + j + ' ' + k);
});

Chrome 的控制臺執行后發現結果出乎意料

JS面試題['1',?'7',?'11'].map(parseInt)怎么解決

也就是說,map 接受的這個函數,它存在三個參數,第一個是數組當前的值,第二個是當前值的索引,第三個數是當前傳入的數組

會不會是傳入的 parseInt 出現問題 ?

當我們傳入 parseInt 時,map 函數會把三個參數(數組當前元素,當前元素的索引,當前傳入的數組)一并打包給 parseInt

那么現在問題就集中在 parseInt 函數上面。

MDN 文檔查詢后可以知道,parseInt(string, radix) 函數接受兩個參數,第一個是需要轉換的字符串,第二個是進制。

于是結果呼之欲出,我把這個過程畫成了圖,方便看圖理解,

JS面試題['1',?'7',?'11'].map(parseInt)怎么解決

首先,parseInt 接受兩個參數,因此第三個參數會被忽略。

第一次執行, parseInt('1', 0) 會輸出 1 ,因為 0 會轉換成 false,而 false 會使它執行默認的進制 10 ,就是 parseInt 默認都是轉換十進制;

第二次執行,parseInt('7', 1) 因為沒有所謂的 1 進制,所以無法轉換,輸出 NaN;

第三次執行parseInt('11', 2) 答案為 3 ,因為以 2 為進制轉換,3 的二進制是 11 , 非常的巧妙。

所以最終的輸出的結果就是 [1, NaN, 3]

到此,關于“JS面試題['1', '7', '11'].map(parseInt)怎么解決”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

莒南县| 淮滨县| 武山县| 永修县| 金湖县| 门源| 冷水江市| 崇阳县| 柘城县| 称多县| 梓潼县| 容城县| 江城| 铁岭市| 北流市| 建湖县| 马尔康县| 上饶市| 凭祥市| 疏附县| 秦皇岛市| 南京市| 郧西县| 扶沟县| 许昌市| 年辖:市辖区| 固安县| 海伦市| 肇州县| 牙克石市| 临西县| 容城县| 巴青县| 武冈市| 阿拉善左旗| 襄汾县| 广南县| 丰城市| 和硕县| 闸北区| 山阳县|