当map遇到parseInt】的更多相关文章

看到一道笔试题: ['1', '2', '3'].map(parseInt) 这道题目中涉及到 map 和 parseInt 函数的运用,如果对这两个函数的理解不充分的话,是很难思考出正确的结果的. 下面就通过这道题目对 map 和 parseInt 函数作一个简单的理解和分析: map((item, index, thisArr) => ( newArr )) [参数解析] item: callback 的第一个参数,数组中正在处理的当前元素. index: callback 的第二个参数,数…
问题来源 ​ 这个问题的来源是学习廖雪峰老师JS教程.问题如下:小明希望利用map()把字符串变成整数,他写的代码很简洁: 'use strict'; var arr = ['1', '2', '3']; var r; r = arr.map(parseInt); console.log(r); // [1, NaN, NaN] 为什么不是[1, 2, 3]?这是因为两个两个函数的定义有冲突.下面详解: map的定义 ​ 注意到这个问题的原因是参考了这个国外某博客JavaScript可选参数危险…
也是一道面试题,估计除了面试题,一般情况下,也不会写出类似的代码了. ['1', '2', '3'].map(parseInt) 这么一道题的返回结果是什么? 如果不用浏览器去验证,乍一看,似乎确实没什么头绪. 我们先看一下map函数的官方解释: map 方法会给原数组中的每个元素都按顺序调用一次callback 函数.callback 每次执行后的返回值(包括 undefined)组合起来形成一个新数组. map本身接受两个参数:callback回调函数和thisArg(可选的)执行 call…
问题: var arrs = ['1', '2', '3']; var r = arrs.map(parseInt); alert(r);//1,NaN,NaN map arr.map(function callback(currentValue[, index[, array]]) { // Return element for new_array }[, thisArg]) parseInt parseInt(string, radix); 因为map()接收三个参数,parseInt()接…
假设我们想要把一个字符串数组的每一项转换成整数,我们很自然就想到了把parseInt作为回调函数传给map()函数,但这样做可能会出现意想不到的结果: var strArr = ["1", "2", "3"]; var numArr = strArr.map(parseInt); console.log(numArr); // [1, NaN, NaN] 在上面的代码中,我们尝试使用map()把数组strArr的每一项由字符串转换成数字,但发现只…
// 下面的语句返回什么呢: ["1", "2", "3"].map(parseInt); // 你可能觉的会是[1, 2, 3] // 但实际的结果是 [1, NaN, NaN] // 通常使用parseInt时,只需要传递一个参数. // 但实际上,parseInt可以有两个参数.第二个参数是进制数. // 可以通过语句"alert(parseInt.length)===2"来验证. // map方法在调用callback…
一.前言 最近有小伙伴在公号中咨询了胡哥这道面试题,窃以为是比较有意思的一道面试题,于此分享给各位小伙伴.先把答案给了各位,和你理解的一样吗?! [1, 2, 3].map(parseInt) // [1, NaN, NaN] 如果你答案你都明白,请出门左转:React源码/原理了解一下. 二.剖析 这道面试题,本身并不复杂.不能正确回答问题的小伙伴,大多数集中于对parseInt这个函数的不了解或者了解的不全面,下面就由胡哥为大家抽丝剥茧一一讲述. 1. map函数 map()方法创建一个新数…
map 生成新数组的函数,3个参数 1-currentValue, callback数组中正在处理的当前元素 2-index(可选): callback数组中正在处理的当前元素的索引 3-array(可选): map方法调用的数组 /** * 语法: * var new_array = arr.map(function callback(currentValue[,index[,array]]){ * // return element for new_array * }[,thisArg])…
map /** * 语法: * var new_array = arr.map(function callback(currentValue[,index[,array]]){ * // return element for new_array * }[,thisArg]) */ callback: 生成新数组元素的函数,3个参数 1-currentValue, callback数组中正在处理的当前元素 2-index(可选): callback数组中正在处理的当前元素的索引 3-array(可…
题目: ['2', '3', '4'].map(parseInt); 请说出上面代码的执行结果 错误回答: [2, 3, 4] 真正答案: [2, NaN, NaN] 解析: 因为 map 的算子是有两个参数的,第一个参数是被迭代数组的元素,第二个参数是该元素的下标.所以 ['2', '3', '4'].map(parseInt) 实际上相当于执行了 [parseInt('2', 0), parseInt('3', 1), parseInt('4', 2)],结果就变成了 [2, NaN, Na…