首页 > Web开发 > 详细

面试题:JS中map的陷阱

时间:2019-03-04 15:55:22      阅读:190      评论:0      收藏:0      [点我收藏+]

题目:

  [‘2‘, ‘3‘, ‘4‘].map(parseInt);

  请说出上面代码的执行结果

错误回答:

  [2, 3, 4]

真正答案:

  [2, NaN, NaN]

解析:

  因为 map 的算子是有两个参数的,第一个参数是被迭代数组的元素,第二个参数是该元素的下标。所以 [‘2‘, ‘3‘, ‘4‘].map(parseInt) 实际上相当于执行了 [parseInt(‘2‘, 0), parseInt(‘3‘, 1), parseInt(‘4‘, 2)],结果就变成了 [2, NaN, NaN] 了。

  所以,正确的写法应该是:[‘2‘, ‘3‘, ‘4‘].map(num => parseInt(num, 10));

面试题:JS中map的陷阱

原文:https://www.cnblogs.com/guanghe/p/10470751.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!