数组中的map方法,js数组的map方法和foreach区别
本教程运行环境:windows7系统,javascript1.8.5版本1.8.5,戴尔G3电脑。
JavaScript()方法可以在数组的每个元素上调用指定的回调函数,并返回包含结果的数组。具体用法如下:
array.map(callbackfn[,this arg]);参数描述:
Array:必选参数,一个数组对象。
Callbackfn:必选参数,一个最多可以接收三个参数的函数。map()方法为数组中的每个元素调用一次callbackfn函数。
ThisArg:可选参数,在callbackfn函数中可以被该关键字引用。如果省略thisArg,undefined将用作该值。
map()方法将返回一个新数组,其中每个元素都是关联的原始数组元素的回调函数返回值。对于数组中的每个元素,map()方法调用callbackfn函数一次(按索引升序),不调用数组中缺失元素的回调函数。
除了array对象之外,map()方法还可以由任何具有length属性和索引属性名称的对象使用,例如Arguments参数对象。
回调函数的语法如下:
函数callbackfn(值,索引,数组);用户最多可以用三个参数来声明回调函数。回调函数的参数描述如下:
Value:数组元素的值。
Index:数组元素的数字索引。
Array:包含这个元素的数组对象。
map()方法不直接修改原始数组,但回调函数可能会修改它。启动map方法后修改数组对象得到的结果如表所示。
回调函数修改数组的效果是否将map方法启动后的条件元素传递给回调函数添加一个超出数组原始长度的元素否添加一个元素以填充数组中缺失的元素是,如果索引没有传递给回调函数,则该元素已被更改是,如果该元素没有传递给回调函数,则从数组中删除该元素否,除非该元素已传递给回调函数示例1。
下面的示例使用map()方法映射一个数组,将数组中每个元素的值平方,乘以PI的值,将返回的圆的面积值作为新数组的元素值,最后返回这个新数组。
函数f(半径){
var面积=数学。PI *(半径*半径);
返回area . to fixed(0);
}
var a=[10,20,30];
var a1=a . map(f);
console . log(a1);示例2
下面的示例使用map()方法映射一个数组,将数组中每个元素的值除以一个阈值,然后返回这个新数组,其中回调函数和阈值都作为对象的属性存在。此方法演示了如何在地图中使用thisArg参数。
var obj={
瓦尔:10,
f:函数(值){
返回值% 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方法的细节。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。