let arr = [1,2,3,4]
arr = arr.map(parseInt)
console.log(arr)
parseInt([value]): 把value转换为数字,要求value是字符串(不是字符串先默认转换为字符串) ,从字符串左边开始查找,找到有效数字字符转换为数字(遇到一个非有效的数字字符,则停止查找)
16进制
1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15),G(16)
parselnt(string, radix)
将一个字符串string转换为radix( 2~36 )进制的整数( =>把string看做radix进制,最后转换为10进制)
- radix省略或者为0 ,则radix默认按照10进行处理(特殊; 字符串以0x/oX开头,radix默认按照16进行处理)
- radix不在2~36之间,最后结果都为NaN
parseInt( [value], [radix]):首先[value]是这个字符串,他是把这个值看做[radix]这个进制,然后最后转换为10进制的数字
parseInt(‘2AF5’, 16); //=>把 ’ 2AF5 '当做16进制,最后转换为10进制
5×16^0 + 15×16^1 + 10×16^2 + 2×16^3
5×1 + 15×16 + 10×16×16 + 2×16×16×16 = 10997
‘72.45’ => 58.578125
2×8^0 + 7×8^1 + 4×8^-1 + 5×8^-2
2×1 + 7×8+ 4×(1/8)+ 5×(1/(8×8))
parseInt(‘231’, 3);
3进制只能是0~2所以查找到3的时候,发现已经不是3进制的范畴了,则不再继续查找
把2当做3进制,最后转换为十进制
2×3^0 = 2
parseInt(‘23461’, 5);
‘234’ 看做5进制, 转换为10进制
4×5^0 + 3×5^1 + 2×5^2
4+3×5+2×5×5 = 69
parseInt和parseFloat的区别
默认只传递一个值的时候,float多识别一个小数点
支持 进制基础
都是转化为数字字符串 从左到右