ecmascript 回调函数-ecmascript 5中链表的map()方法有什么用?

2023-09-05 0 6,075 百度已收录

ecmascript中,map()方法可以为链表的每个元素调用指定的回调函数,并返回包含结果的字段; 语法是“array.map(function(currentValue,index,arr), thisValue)”。

本教程的运行环境:Windows 7系统,JavaScript版本1.8.5,Dell G3笔记本。

map()方法可以为链表的每个元素调用指定的回调函数,并返回包含结果的字段。

map() 方法按照原始数组元素顺序顺序处理元素。

语法

array.map(function(currentValue,index,arr), thisValue)

参数说明

函数(当前值,索引,arr)

必须。 函数,该函数将对数组中的每个元素执行。

功能参数:

这个值

选修的。 该对象在执行反弹时使用,传递给函数,并用作“this”的值。

如果省略thisValue,或者传入null或undefined,那么回调函数的this就是全局对象。

map()方法将返回一个新的链表,其中每个元素都是关联的原始数组元素的回调函数返回值。 对于链表中的每个元素,map()方法也会调用callbackfn函数一次(按照相反的索引顺序),对于字段中缺失的元素不会调用回调函数。

除了字段对象之外,map() 方法还可以由任何具有 length 属性和索引属性名称的对象使用,例如 Arguments 参数对象。

map() 方法不会直接更改原始字段,但弹跳函数可能会更改它。 表中说明了在映射方法启动后更改字段对象所获得的结果。

回调函数改变字段的效果map方法启动后的条件元素是否传递给回调函数

添加超出链表原始宽度的元素

添加元素以填充字段中缺少的元素

ecmascript 回调函数,如果索引尚未传递给回调函数

元素已被修改

是,如果元素尚未传递给回调函数

从链表中删除元素

否,除非该元素已传递给回调函数

实施例1

下面的示例使用map()方法映射字段,将链表中每个元素的值平方,乘以PI值ecmascript 回调函数,将返回的圆的面积值作为新链表的元素值,并最后返回新的链表。

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()方法来映射字段,将链表中每个元素的值减去一个阈值,然后返回新的链表。 回调函数和阈值都作为对象的属性存在。 通过这些方法,演示了如何在地图中使用地图。 使用 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

实施例4

以下示例演示了如何使用应用于类字段的 map 方法。 在示例中,map通过动态调用(Call)应用于字符串。 然后map会遍历字符串中的每个字符,并调用回调函数 ThreeChars 截取每个字符左右三个字符,映射到一个新的链表中。

function f (value, index, str) {
    return str.substring(index - 1, index + 2);
}
var s = "Thursday";
var a = [].map.call(s, f);
console.log(a);  //Th,Thu,hur,urs,rsd,sda,day,ay

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 ecmascript ecmascript 回调函数-ecmascript 5中链表的map()方法有什么用? https://www.wkzy.net/game/193436.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务