问题:

var arrs = ['1', '2', '3'];
var r = arrs.map(parseInt);
alert(r);//1,NaN,NaN

map

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

parseInt

parseInt(string, radix);

因为map()接收三个参数,parseInt()接收两个参数,所以map的第三个参数被parseInt忽略了。

现在来分析下程序,假如现在执行arr的第一个元素,即'1';对应到map参数可知,此时传入map的第一个参数即为被传递的元素'1';第二个参数即为其索引0;

这两个参数被传入parseInt中,即parseInt('1', 0);对应到上述parsent的参数规则可知,此时结果为1;

同理,parseInt('2',1) //radix小于2 返回NaN

parseInt('3',2) //3是非法的二进制数,返回NaN

解决:

function  parseInt_base10(s)
{
return parseInt(s,10);
} r = arrs.map(parseInt_base10,arrs);
//或者r = arrs.map(parseInt_base10);
alert(r);//[1,2,3]

最新文章

  1. 对于SQL Server,我需要多少内存
  2. 2016年中国大学生程序设计竞赛(合肥)-重现赛1001 HDU 5961
  3. jQuery自动加载更多程序
  4. IOS, xib和storyboard的混用
  5. [转]后台页面访问权限:页面基类&内置票据认证 使用方法
  6. NLTK中的词性
  7. java后台SSH框架之Hibernate心得一
  8. undefined与null的区别---js
  9. php生成缩略图
  10. 安装orcle10g oel5.6
  11. 我的Fedora环境
  12. 探索C/C++大数快(自然数)模板
  13. python unicode 转中文 遇到的问题 爬去网页中遇到编码的问题
  14. 每日冲刺报告——Day1(Java-Team)
  15. saltstack通过jinja模板,将变量值增加到配置文件中?通过引用变量值修改配置文件?
  16. 学习 MeteoInfo二次开发教程(四)
  17. Win8下枚举任意进程的句柄表。。。(VB6 Code)
  18. 【Linux】ps命令
  19. (转)Python3之pickle模块
  20. Python jieba库的使用说明

热门文章

  1. 计算几何-poj2451-HPI
  2. 「题解」「CF468D」树中的配对
  3. 存储过程(Stored Procedure)
  4. P1558 色板游戏 线段树(区间修改,区间查询)
  5. 设备驱动基础学习--/proc下增加节点
  6. Dart语言学习(三)Dart数值型
  7. C++模板详解(三):参数化声明详解
  8. IdentityHashCodeTest
  9. PAT 1017 Queueing at Bank (模拟)
  10. 简单的jquery Ajax进行登录!