首页 >web前端 >前端问答 >map是es6中的方法吗

map是es6中的方法吗

WBOY
WBOY原创
2022-04-25 18:16:021815浏览

map是es6中的方法;该方法可以对数组的每个元素调用指定的回调函数,并且返回包含结果的数据,返回结果是一个新的数组,语法为“数组对象.map(function 回调函数(数组元素的值,数组元素索引,数组对象));”。

map是es6中的方法吗

本教程操作环境:windows10系统、ECMAScript 6.0版、Dell G3电脑。

map是es6中的方法吗

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:包含该元素的数组对象。

示例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

【相关推荐:javascript视频教程web前端

以上是map是es6中的方法吗的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn