javascript - 用map把字符串变成整数的坑
高洛峰
高洛峰 2017-04-11 12:38:54
[JavaScript讨论组]
'use strict';
var arr = ['1', '2', '3'];
var r;
r = arr.map(parseInt);
alert('[' + r[0] + ', ' + r[1] + ', ' + r[2] + ']');

这结果居然是[1, NaN, NaN];求解!

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(3)
伊谢尔伦

你可以看下MDN上的mappolyfill
https://developer.mozilla.org...

 mappedValue = callback.call(T, kValue, k, O);
 调用callback,参数是当前数组元素的值,index,和整个数组。

 arr.map(parseInt); 
 相当于
 arr.map(function(){
    return parseInt.apply(undefined,arguments);
 });
 arguments 就是默认kValue, k, O 这3个参数。
ringa_lee

map提供两个参数 第一个是数据的值第二个 索引 parseInt接受两个参数,一个是值,一个是进制。所以分别执行pareInter(1,0) pareInter(2,1) pareInter(3,2)所以就1,NaN,NaN

PHP中文网
var arr = ['1','2','3'];
var r = arr.map(function(val){
    return parseInt(val);
});
console.log(r);
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号