先贴结果:
其实是将问题转换成以下代码:
var arr = ["1","2","3"];
arr.map((value,index,array) => parseInt(value,index));
//parseInt(string,radix)
对于parseInt(string,radix)来说:
string:需要转化的字符
radix:取值范围2-36之间的整形。当参数为 0,parseInt() 会根据十进制来解析。
下面来分析这道题:
[‘1‘,‘2‘,‘3‘].map(parseInt)
parseInt(“1”,0) radix为0,parseInt()根据十进制来解析,结果为1
parseInt(“2”,1) radix为1,不在radix取值范围内,NaN
parseInt(“3”,2) radix为2,用二进制来解析,但value应该为"1" / “2”,因此返回NaN.。