1. let arr = [10.18, 0, 10, 25, 23];
    2. arr = arr.map(parseInt);
    3. console.log(arr) //[10, NaN, 2, 2, 11]

    map相当于迭代或者循环遍历每一项。
    arr = arr.map((item, index) => {
    // 循环遍历数组中的某一项就会触发回调函数
    // 每一次还会传递当前项和当前的索引
    )
    parseInt特点:对于输入的值先转换成字符串,然后再从第一个字符开始查找数字,直到遇到非数字字符,就停止。
    parseInt([value], [radix])

    • [radix]是一个进制,不写或者写0默认都按照十进制处理(特殊情况,如果value是以0x开头,则默认值不是十进制而是16进制)
    • 进制有一个取值的范围: 2~36之间,如果不在这之间,整个程序运行结果一定是NaN。
    • 当parseInt的[value]和[radix]都有值的时候,parseInt([value], [radix])的操作过程是,把value里面的值看成是radix进制,再最后转成十进制输出。例如parseInt(‘10’, 2),’10’看成2进制的
    • parseInt(‘10.18’, 0(10)) 从字符串左侧第一个字符开始查找,找到符合[radix]进制的值(遇到一个不合法的,则停止查找),把找到的值变为数字,再按照[radix]进制转换为十进制

    parseInt(‘12px12’) = 12;
    parseInt(null) = NaN;

    • parseInt(‘10.18’, 0) => ‘10’->10 转换为十进制还是 10 10
    • parseInt(‘0’, 1) =>NaN 没有1进制
    • parseInt(‘10’, 2) => ‘10’ => 12^1+02^0 = 2 2
    • parseInt(‘25’, 3) => 符合三进制的0、1、2的字符 =>’2’ => 23^0 = 21 = 2 2
    • parseInt(‘23’, 4) => 符合四进制0~3 => ‘23’ => 24^1 + 34^0 = 8+3 = 11 11

    如何把一个值转化为十进制?

    • 147(八进制) => 十进制

    [位全值: 每一位的权重,个位是0,十位是1 …]
    1 4 7 => 18^2+ 48^1 + 7*8^0

    • 12.23(四进制) => 十进制

    14^1+24^0+24^-1 + 24^-2
    4^0 =1;
    4^-1 = 1/4
    4*-2 = 1/4^2