其他

习题组一

习题一

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

// 输出
1、NaN、NaN 

// 解析
arr.map((value, index, array) {})
parseInt(string, radix)

value 对应 string,index 对应 radix,则有
arr.map((string, radix) {})

parseInt('1', 0) // 1。基数为 0,视作十进制解析。
parseInt('2', 1) // NaN。基数为 1,不介于 2-36 之间。
parseInt('3', 2) // NaN。基数为 2,第一个非空字符大于 2。

习题二

let unary = fn => val => fn(val)
let parse = unary(parseInt)
['1.1', '2', '0.3'].map(parse)

// 输出
1、2、0

// 解析
let parse = unary(parseInt) 
let parse = val => parseInt(val)

parseInt('1.1') // 1。基数未指定,视作十进制解析。
parseInt('2') // 2。基数未指定,视作十进制解析。
parseInt('0.3') // 0。基数未指定,视作十进制解析。

与上题不同的是,parseInt 的第二个参数被绕过了。
Last Updated:
Contributors: Vsnoy