This question already has answers here:
Why does parseInt yield NaN with Array#map?
                                
                                    (7个答案)
                                
                        
                                3年前关闭。
            
                    
有人可以解释为什么我通过执行以下代码来得到这个奇怪的结果吗?

'1.0.0.0'.split('.').map(parseInt);


输出:

[1, NaN, 0, 0]

最佳答案

parseInt有第二个参数是基数。 map传递了三个参数:currentValue,index和数组。
这意味着该数字的索引用作基数。
尝试以下方法:

'1.0.0.0'.split('.').map(function(s) {return parseInt(s);});


https://jsfiddle.net/qbf7u1d7/

关于javascript - 使用parseInt的JavaScript怪异结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34225618/

10-12 13:34