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

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
JavaScript map() 方法可以对数组的每个元素调用指定的回调函数,并返回包含结果的数组。具体用法如下:
array.map(callbackfn[, thisArg]);
参数说明:
array:必需参数,一个数组对象。
立即学习“Java免费学习笔记(深入)”;
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高级教程】
以上就是javascript数组的map方法怎么用的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号