js 自带的 map() 方法全面了解
1.方法概述
map()方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组。
2.例子
2.1在字符串中使用map
在一个String 上使用map方法获取字符串中每个字符所对应的ASCII码组成的数组:
varmap=Array.prototype.map vara=map.call("HelloWorld",function(x){returnx.charCodeAt(0);}) //a的值为[72,101,108,108,111,32,87,111,114,108,100]
2.2易犯错误
通常情况下,map方法中的callback函数只需要接受一个参数(很多时候,自定义的函数形参只有一个),就是正在被遍历的数组元素本身。
但这并不意味着map只给callback传了一个参数(会传递3个参数)。这个思维惯性可能会让我们犯一个很容易犯的错误。
//下面的语句返回什么呢: ["1","2","3"].map(parseInt); //你可能觉的会是[1,2,3] //但实际的结果是[1,NaN,NaN] //通常使用parseInt时,只需要传递一个参数.但实际上,parseInt可以有两个参数.第二个参数是进制数.可以通过语句"alert(parseInt.length)===2"来验证. //map方法在调用callback函数时,会给它传递三个参数:当前正在遍历的元素,元素索引,原数组本身. //第三个参数parseInt会忽视,但第二个参数不会,也就是说,parseInt把传过来的索引值当成进制数来使用.从而返回了NaN. /* //应该使用如下的用户函数returnInt functionreturnInt(element){ returnparseInt(element,10); } ["1","2","3"].map(returnInt); //返回[1,2,3] */
参考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/map
以上这篇js自带的map()方法全面了解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。