关于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