相关疑难解决方法(0)

为什么parseInt会使用Array#map产生NaN?

来自Mozilla开发者网络:

[1,4,9].map(Math.sqrt)
Run Code Online (Sandbox Code Playgroud)

会产生:

[1,2,3]
Run Code Online (Sandbox Code Playgroud)

为什么这样做:

['1','2','3'].map(parseInt)
Run Code Online (Sandbox Code Playgroud)

屈服于此:

[1, NaN, NaN]
Run Code Online (Sandbox Code Playgroud)

我已经在Firefox 3.0.1和Chrome 0.3中进行了测试,只是作为免责声明,我知道这不是跨浏览器功能(没有IE).

我发现以下内容将达到预期的效果.但是,它仍然没有解释错误的行为parseInt.

['1','2','3'].map(function(i){return +i;}) // returns [1,2,3]
Run Code Online (Sandbox Code Playgroud)

javascript

282
推荐指数
4
解决办法
4万
查看次数

标签 统计

javascript ×1