最新消息: 关于Git&GitHub 版本控制你了解多少?
您现在的位置是:群英 > 开发技术 > web开发 >
JavaScript数组的map方法有何作用?用法是什么?
PHP中文网发表于 2021-09-17 17:59 次浏览

    今天我们一起来了解一下JavaScript数组的map方法,对于新手来说,可能不是很了解map()方法的作用和用法,因此下文就给大家来详细的介绍一下map方法,感兴趣的朋友就继续往下看吧。

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

array.map(callbackfn[, thisArg]);

    参数说明:

  • array:必需参数,一个数组对象。

  • callbackfn:必需参数,最多可以接收三个参数的函数。对于数组中的每个元素,map() 方法都会调用 callbackfn 函数一次。

  • thisArg:可选参数,callbackfn 函数中的 this 关键字可引用的对象。如果省略 thisArg,则 undefined 将用作 this 值。

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

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

    回调函数的语法如下:

function callbackfn (value, index, array);

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

  • 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数组的map方法就介绍到这了,本文3个示例对对大家学习和理解map方法有一定的帮助,有需要的朋友可以了解看看,希望大家阅读完这篇文章能有所收获,想要了解更多请关注群英网络其它相关文章。

标签:javascript数组
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
相关信息推荐