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

原文地址:https://www.cnblogs.com/orangestar/p/12972739.html