zoukankan      html  css  js  c++  java
  • 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]
    // 字符转ascii码:用charCodeAt();
    // ascii码转字符:用fromCharCode();
    2.2
    通常情况下,map方法中的callback函数只需要接受一个参数,就是正在被遍历的数组元素本身。这并不意味着map只给callback传了一个参数(会传递三个参数)。
    ["1","2","3"].map(parseInt);
    你可能觉的会是[1, 2, 3]
    但实际的结果是 [1, NaN, NaN]
    通常使用parseInt时,只需要传递一个参数,但实际上,parseInt可以有两个参数,第二个参数是进制数,可以通过"alert(parseInt.length === 2)"来验证。
    [].map(); 基本用法跟forEach方法类似:[].forEach((val,index,arr) => {})
    map方法在调用callback函数时,会给它传递三个参数:当前正在遍历元素、元素索引、原数组本身。第三个参数parseInt会忽视,但是第二个参数不会,也就是说,parseInt把传过来的索引当成进制数来使用,从而返回了NaN。
    ["1","2","3"].map(parseInt);想要返回[1,2,3]应该如下使用:
    function returnInt(e){
        return parseInt(e,10);
    }
    ["1","2","3"].map(returnInt);
    // 此时会返回[1,2,3]
     
    文章乃参考、转载其他博客所得,仅供自己学习作笔记使用!!!
  • 相关阅读:
    测试1.书店的增删改查项目.链接数据库
    添加约束及打印五角星及查询
    结构
    安装StarUML 及使用时序图(Sequence Diagram)和用例图(use case diagram)
    UMLUnified Modeling Language (UML)又称统一建模语言或标准建模语言
    电视机与遥控器之间的交互
    泛型集合
    狮子和计算Java题
    华为机试——求两个数之间的素数
    判断一个数是否是素数
  • 原文地址:https://www.cnblogs.com/memphis-f/p/7308842.html
Copyright © 2011-2022 走看看