['1', '2', '3'].map(parseInt)

2021-08-09  本文已影响0人  超开心儿

基础 parseInt()

parseInt() 函数解析一个字符串参数,并返回一个指定基数的整数

const intValue = parseInt(string[, radix]);

// string 要被解析的值。如果参数不是一个字符串,则将其转换为字符串(使用 toString 抽象操作)。字符串开头的空白符将会被忽略。

// radix 一个介于 2 和 36 之间的整数,表示上述字符串的基数,默认为 10。

// 返回值 返回一个整数或 NaN。

parseInt("100"); // 100
parseInt("100", 10); // 100
parseInt("100", 2); // 4,将 100 看作二进制,转化成十进制

在 radix 为 undefined,0 或者没有指定的情况下,JavaScript 作如下处理:

实例解析:

['1', '2', '3'].map(parseInt)

对于 map 的每次迭代,parseInt() 传递两个参数: 字符串和基数。 所以实际执行的的代码是:

['1', '2', '3'].map((item, index) => {
    return parseInt(item, index)
})

每次的迭代展开为:

// 上面说过,radix 为 0 时,string 以其它任何值开头,则基数是 10
parseInt("1", 0); // 1
// 没有一进制
parseInt("2", 1); // NaN
// 3 不是二进制
parseInt("3", 2); // NaN
例子: image.png
上一篇下一篇

猜你喜欢

热点阅读