此问题在此处已有答案:
Why does parseInt yield NaN with Array#map?(8个答案)
八年前就关门了。
xs = ['10','10','10 '] [ ' 10','10','10' ]
xs.map(parseInt)[ 10,NaN,2 ] xs.map(parseFloat)[ 10,10,10 ]
为什么结果是10,nan,第一个是2?为什么第二个是正确的?
此问题在此处已有答案:
Why does parseInt yield NaN with Array#map?(8个答案)
八年前就关门了。
xs = ['10','10','10 '] [ ' 10','10','10' ]
xs.map(parseInt)[ 10,NaN,2 ] xs.map(parseFloat)[ 10,10,10 ]
为什么结果是10,nan,第一个是2?为什么第二个是正确的?
1条答案
按热度按时间mqkwyuun1#
.map()
向其回调传递多个参数,如callback(element,index,array)。parseInt()
使用.map()
传递的第二个参数index
作为基数,使结果失真。另一方面,
parseFloat()
只需要一个参数,所以它可以按预期工作。如果你传递一个回调函数,你可以避免这个问题,因为你可以控制
parseInt()
的调用方式: