位置:首页 > 软件操作教程 > 编程开发 > JavaScript > 问题详情

JavaScript 映射数组

提问人:刘团圆发布时间:2020-11-25

■知识点

使用map()方法可以对数组的每个元素调用指定的回调函数,并返回包含结果的数组。参数为一个回调函数。

■实例设计

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

function f(radius) {

    var area = Math.PI * (radius * radius); 

    return area.toFixed (0);

}

var a = [10, 20, 30]; 

var al = a.map (f);

console.log(al);      //314,1257,2827

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

var obj = {

    val: 10,

    f: function (value) {

        return value % this.val;

    }

}

var a = [6, 12, 25, 30]; 

var al = a.map(obj.f, obj);

console.log (al);               //6, 2,5, 0

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

var a = [9, 16];

var al = a.map(Math.sqrt);

console.log(al) ;              //3,4

【示例4】下面的示例演示如何使用map方法应用于一个类数组。在示例中通过动态调用的方法(call)把map作用于一个字符串上,则map将遍历字符串中每个字符,并调用回调函数threeChars,把每个字符左右3个字符截取出来,映射到一个新数组中。

function f(value, index, str) {

    return str.substring(index - 1, index + 2);

}

var s = "Thursday1’;

var a = [ ].map.call(s, f);

console.log(a);

//Th,Thu,hur,urs,rsd,sda,day, ay

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部