Skip to content

['1','2','3'].map(parseInt) 的返回值是什么?

Posted on:2024年8月10日 at 17:06

首先整个题目考校的是两个函数,和一个字符串转数字的概念

  1. 数组的map函数,接受三个参数,当前值,当前索引,当前数组。
  2. parseInt接受两个参数,需要转换的字符串,基数(基数取值范围2~36)
var new_array = arr.map(function callback(currentValue, index, array) {
  // Return element for new_array
});
parseInt(string, radix);
  1. 根据上面的两个函数的解释,我们可以发现实际上,上面的['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
  1. 如果我们需要返回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

综上所述,返回值是 [1,NaN,NaN]

原文转自:https://fe.ecool.fun/topic/3f897e08-e0f7-4b68-90ac-e643167754bf