• 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]
    */
    复制代码

     来源: http://www.cnblogs.com/rocky-fang/p/5756733.html





    还有分享一个技术群,474471759,跟随里面的大佬一起成长,进群之后里面的JimY就是我。

    如果我的博客解决了你的问题,那请你给个关注吧!
  • 相关阅读:
    加快网站访问速度——Yslow极限优化
    Jquery应用实例
    js获取文本框(或文本域)光标位置以及设置光标位置
    编程挑战
    图片view设置gif动图
    判断手机中是否安装了某个App
    session发送的get请求、post请求、上传、下载
    图片的拉伸stretchableImageWithLeftCapWidth
    IOS数据懒加载
    IOS页面(控制器之间)传值之Block
  • 原文地址:https://www.cnblogs.com/DreamSeeker/p/7193243.html
Copyright © 2020-2023  润新知