Skip to main content

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));