箭头函数的理解,以及paseInt方法的认识

183 阅读1分钟

看到了一个题目,主要考察箭头函数:

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

解析:

let unary = (fn)=>{     
    return (val)=>{         
        return fn(val)     
    }
};

let parse = unary(parseInt);

['1.1','2','0.3'].map((item,index)=>{       
    return parse(item,index)
});

['1.1','2','0.3'].map((item,index)=>{       
    return unary(parseInt)(item,index)
});

['1.1','2','0.3'].map((item,index)=>{       
    return parseInt(item)
});//1,2,0

之后看了一个进阶题目

['10','10','10','10'].map(parseInt) // [10, NaN, 2, 3]

这个题目主要考察parseInt的入参,这里把w3c的解释粘过来,具体可以参考w3c parseInt

有缘看到这篇文章的话,欢迎指正哈