js 自带的 map() 方法全面了解

 更新时间:2016年08月16日 09:37:51   投稿:jingxian  
下面小编就为大家带来一篇js 自带的 map() 方法全面了解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

1. 方法概述

map() 方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组。

2. 例子

2.1 在字符串中使用map

在一个 String  上使用 map 方法获取字符串中每个字符所对应的 ASCII 码组成的数组:

var map = Array.prototype.map
var a = map.call("Hello World", function(x) { return x.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

function returnInt(element){
 return parseInt(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() 方法全面了解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • js验证真实姓名与身份证号是否匹配

    js验证真实姓名与身份证号是否匹配

    使用javascript技术验真实姓名,要用到unicode字符来匹配,由于中国人的姓名长度一般是在2-4这个范围内,所以重复匹配{2,4}次。接下来,通过本文给大家分享js验证省份证号与真实姓名是否匹配,需要的朋友可以参考下
    2015-10-10
  • javascript检测浏览器的缩放状态实现代码

    javascript检测浏览器的缩放状态实现代码

    这篇文章主要介绍了javascript检测浏览器的缩放状态实现代码,需要的朋友可以参考下
    2014-09-09
  • JavaScript中处理数据的常用方法

    JavaScript中处理数据的常用方法

    在前端项目中,常用的 JavaScript 处理数据的方法有很多,本文为大家整理了一些常用的方法,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-11-11
  • js 页面元素的几个用法总结

    js 页面元素的几个用法总结

    本文是对js中页面元素的几个用法进行了详细的总结介绍,需要的朋友可以 过来参考下,希望对大家有所帮助
    2013-11-11
  • TypeScript魔法堂之枚举的超实用手册

    TypeScript魔法堂之枚举的超实用手册

    这篇文章主要介绍了TypeScript魔法堂之枚举的超实用手册,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • JavaScript手写源码之实现arrify转数组

    JavaScript手写源码之实现arrify转数组

    这篇文章主要为大家详细介绍了如何利用JavaScript实现arrify转数组,文中的示例代码讲解详细,对我们学习JavaScript有一点的帮助,需要的可以参考一下
    2023-02-02
  • JS中如何实现点击a标签返回页面顶部的问题

    JS中如何实现点击a标签返回页面顶部的问题

    这篇文章主要介绍了JS中实现点击a标签返回页面顶部的问题,非常不错,具有参考借鉴价值,需要的的朋友参考下吧
    2017-01-01
  • 基于prototype扩展的JavaScript常用函数库

    基于prototype扩展的JavaScript常用函数库

    基于prototype扩展的JavaScript常用函数库实现代码,学习js的朋友可以参考下。
    2010-11-11
  • 微信小程序实现的动态设置导航栏标题功能示例

    微信小程序实现的动态设置导航栏标题功能示例

    这篇文章主要介绍了微信小程序实现的动态设置导航栏标题功能,结合实例形式分析了微信小程序使用wx.setNavigationBarTitle接口动态设置导航栏标题的相关操作技巧,需要的朋友可以参考下
    2019-01-01
  • javascript hashtable实现代码

    javascript hashtable实现代码

    javascript中没有像c#,java那样的哈希表(hashtable), 然而,javascript中的Array也只有一些类似于'哈希表'的非常简单功能。
    2009-10-10

最新评论