解惑parseInt的输出结果
在新项目开发过程中使用到parseInt这个方法时,结果出现了NaN,因此,特意回去复习了一下,parseInt的使用方法及注意事项
图片来源w3chool,没事的时候,多逛逛,收获颇丰。。。,如图所示,箭头所指,必为重点,首先来复习一下进位制,在javascript当中,常用十进制(0-9),二进制(0,1),十六进制(0x), 八进制(0-7),再结合如上图第一个箭头所指,可以得出一个经得起验证的结论,那就是,传入parseInt方法的string的第一位数字不会大于radix(radix合法范围2-36,结合进制解析),如果超了,则方法会返回NaN,可以通过console.log([1,2,3].map(parseInt)) 的结果来验证真伪
console.log([1,2,3].map(parseInt)) // [1,NaN,NaN]
当然,也不仅仅是因为如上说法,就完全验证如上的结果,在分析 [1,2,3].map(parseInt)这个方法时,由于map的当中的回调会传入三个参数,即currentValue,index,arr,即 [1,2,3].map(parseInt) = [1,2,3].map(parseInt(1,0,[1,2,3]),以此类推,得出最终结果为[1,NaN,NaN], 如果想让其输入正确的值,可修改为如下:
console.log([1,2,3].map(function(x){return parseInt(x,10)})) or console.log([1,2,3].map(function(x) {return parseInt(x)}))
m0_73686954: 您好 可以给我发一份吗 非常感谢🙏1252840123@qq.com
wjf-5866: 您好,我需要,能发我吗?非常感谢!wjf5866@163.com
素素_钗钗: 请私信我邮箱哟
cyc1512310323: 可以发我一份吗?谢谢 1226750224@qq.com
cyc1512310323: 可以发我一份吗? 1226750224@qq.com 谢谢