js数组map()方法

责编:menVScode 2017-07-09 16:18 阅读(838)

map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

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

注意: map() 不会对空数组进行检测。

注意: map() 不会改变原始数组。


概述

         map():方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组。

语法

        array.map(callback[, thisArg])

参数

        callback:原数组中的元素经过该方法后返回一个新的元素。回调函数中可以传入两个参数(currentValue,index),currentValue是数组中当前被传递的元素,index数组中当前被传递的元素的索引。

        thisArg:执行 callback 函数时 this 指向的对象。

兼容性

        这种方法是一个JavaScript扩展到ECMA-262标准;因此它可能不存在在标准的其他实现。为了使它工作,你需要添加下面的脚本代码在顶部:

if (!Array.prototype.map){
	Array.prototype.map = function(fun /*, thisp*/){
	  	var len = this.length;
	  	if (typeof fun != "function"){
	   		throw new TypeError();
	  	}
	 
	  	var res = new Array(len);
	  	var thisp = arguments[1];
	  	for (var i = 0; i < len; i++){
	   	    if (i in this){
	    		res[i] = fun.call(thisp, this[i], i, this);
	    	    }
	        }
	 
	  	return res;
 	};
}

例子

<script type="text/javascript">
	let arr = [1,2,3,4];
	let newArr = arr.map((currentValue,index)=>{
			return currentValue*3;
	});
	console.log(arr); //[1, 2, 3, 4]
	console.log(newArr); //[3, 6, 9, 12]
</script>
标签: map 数组 js
前端交流群: MVC前端网(menvscode.com)-qq交流群:551903636

邮箱快速注册

忘记密码