關於JS中的map函數需要注意的地方


最近看張雪峰老師的JS教程的時候,做了一道題。

小明希望利用map()把字符串變成整數,他寫的代碼很簡潔:

'use strict';

var arr = ['1', '2', '3'];
var r;
r = arr.map(function(x){return parseInt(x);});

console.log(r);
Run
1,2,3
結果竟然是1, NaN, NaN,小明百思不得其解,請幫他找到原因並修正代碼。

這個錯誤是因為沒有考慮到,map中的parseInt 函數可以傳入多個參數的原因。
導致數組中,第一個"1"被處理成1后,第二個"2"傳入parseInt的時候,傳入了2個參數(2, 1).而parseInt第二個參數是大於2小於或等於36范圍的,這個1顯然不在此范圍,所以返回了NaN


免責聲明!

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



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