JS 面试题
['1', '2', '3'].map(parseInt)
what & why ?
["1", "2", "3"].map(parseInt);
// [1, NaN, NaN]
实际是
["1", "2", "3"].map((item, index) => {
return parseInt(item, index);
});
变形题目
let unary = (fn) => (val) => fn(val);
let parse = unary(parseInt);
console.log(["1.1", "2", "0.3"].map(parse));
// [1, 2, 0]
实际是
["1", "2", "3"].map((item) => {
return parseInt(item);
});
// [1, 2, 3]
["10", "10", "10", "10", "10"].map(parseInt);
// [10, NaN, 2, 3, 4]
["10", "10", "10", "10", "10"].map(parseInt);
["1", "2", "3"].map(parseInt);
["10", "10", "10", "10", "10"].map(Number);
let unary = (fn) => (val) => fn(val);
let parse = unary(parseInt);
console.log(["1.1", "2", "0.3"].map(parse));