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

首先整个题目考校的是两个函数,和一个字符串转数字的概念
  1. 数组的map函数,接受三个参数,当前值,当前索引,当前数组。
  2. parseInt接受两个参数,需要转换的字符串,基数(基数取值范围2~36)

    var new_array = arr.map(function callback(currentValue, index, array) {
     // Return element for new_array 
    })
    parseInt(string, radix) 
  3. 根据上面的两个函数的解释,我们可以发现实际上,上面的['1','2','3'].map(parseInt) 其实就是等价于下面的代码。

    ['1','2','3'].map((item, index) => {
        return parseInt(item, index)
    })
    //  parseInt('1', 0)  1
    //  parseInt('2', 1)  NaN
    //  parseInt('3', 2)  NaN
  4. 如果我们需要返回1,2,3需要怎么办?

    function parseIntFun(item) {
        return parseInt(item, 10)
    }
    ['1','2','3'].map(parseIntFun)
    //  parseInt('1', 10)  1
    //  parseInt('2', 10)  2
    //  parseInt('3', 10)  3

VivenZZ
88 声望0 粉丝