将字符串1,2,3通过map方法调用parseInt转变为数字 1 ,2,3 一点问题没有 自然的很。
但是转念一想怎么可能这么简单,重新去查阅了这两个方法发现了一点猫腻:
.map()
.parseInt()
注意:
map()接受一个函数并且会对其传入三个参数
parseInt()会接受两个参数
所以当执行['1', '2', '3'].map(parseInt)时,不是简单的
parseInt('1') //1
parseInt('2') //2
parseInt('3') //3
而是:
parseInt('1',0) //1 '1' 是变量,0是下标
parseInt('2',1) //NAN radix只能是2-36 否则NAN
parseInt('3',2) //NAN 二进制不支持 3
壹题github与更多解答地址