• 技术文章 >web前端 >js教程

    javascript数组的map方法怎么用

    青灯夜游青灯夜游2021-07-19 18:46:15原创143

    在javascript中,数组的map方法用于对数组的每个元素调用指定的回调函数,并返回包含结果的数组;语法格式为“array.map(callbackfn[, thisArg]);”。

    本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

    JavaScript map() 方法可以对数组的每个元素调用指定的回调函数,并返回包含结果的数组。具体用法如下:

    array.map(callbackfn[, thisArg]);

    参数说明:

    map() 方法将返回一个新数组,其中每个元素均为关联的原始数组元素的回调函数返回值。对于数组中的每个元素,map() 方法都会调用 callbackfn 函数一次(采用升序索引顺序),并不会为数组中缺少的元素调用回调函数。

    除了数组对象之外,map() 方法可由具有 length 属性,且具有已按编制索引的属性名的任何对象使用,如 Arguments 参数对象。

    回调函数的语法如下:

    function callbackfn (value, index, array);

    用户可以使用最多三个参数来声明回调函数。回调函数的参数说明如下:

    map() 方法不直接修改原始数组,但回调函数可能会修改它。在 map 方法启动后修改数组对象所获得的结果说明如表所示。

    回调函数修改数组的影响
    map 方法启动后的条件元素是否传递给回调函数
    在数组的原始长度之外添加元素
    添加元素以填充数组中缺少的元素是,如果该索引尚未传递给回调函数
    元素已更改是,如果该元素尚未传递给回调函数
    从数组中删除元素否,除非该元素已传递给回调函数

    示例1

    下面示例使用 map() 方法映射数组,把数组中每个元素的值平方,乘以 PI 值,把返回的圆的面积值作为新数组的元素值,最后返回这个新数组。

    function f (radius) {
        var area = Math.PI * (radius * radius);
        return area.toFixed(0);
    }
    var a = [10,20,30];
    var a1 = a.map(f);
    console.log(a1);

    示例2

    下面示例使用 map() 方法映射数组,把数组中每个元素的值除以一个阈值,然后返回这个新数组其中回调函数和阈值都以对象的属性存在,通过这种方法演示如何在 map 中使用 thisArg 参数。

    var obj = {
        val : 10,
        f : function (value) {
            return value % this.val;
        }
    }
    var a = [6,12,25,30];
    var a1 = a.map(obj.f, obj);
    console.log(a1);  //6,2,5,0

    示例3

    下面示例演示如何使用 JavaScript 内置方法作为回调函数。

    var a = [9, 16];
    var a1 = a.map(Math.sqrt);
    console.log(a1);  //3,4

    【推荐学习:javascript高级教程

    以上就是javascript数组的map方法怎么用的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:javascript 数组 map方法
    上一篇:javascript中怎么获取方法(函数)的参数个数 下一篇:javascript捕获异常的方法有哪些
    VIP会员

    相关文章推荐

    • javascript有哪些基本数据类型• javascript怎么读取map的值• javascript中什么是函数• javascript canvas方法有哪些• javascript的匿名方法是什么• javascript中怎么获取方法(函数)的参数个数

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网