JavaScript Array map() 方法
-
JavaScript Array map() 方法
map()方法创建一个新数组,其结果是为每个数组元素调用一个函数。map()方法按顺序为数组中的每个元素调用一次提供的函数。注意: map()不会为没有值的数组元素执行函数。注意: map()不会更改原始数组。实例:返回一个数组,其中包含原始数组中所有值的平方根:
尝试一下var numbers = [4, 9, 16, 25]; function myFunction() { x = document.getElementById("demo") x.innerHTML = numbers.map(Math.sqrt); }
-
浏览器支持
项 IE/Edge Chrome FireFox Safari Opera 方法 map() 9.0+支持1.5+支持支持 -
语法
array.map(function(currentValue, index, arr), thisValue) -
参数值
参数 描述 function(currentValue, index, arr) 必需的。 要为数组中的每个元素运行的函数。 函数参数: - currentValue - 必需的。 当前元素的值
- index - 可选的。 当前元素的数组索引
- arr - 可选的。 当前元素所属的数组对象
thisValue 可选的。 要传递给要用作“this”值的函数的值。如果此参数为空,则值“undefined”将作为其“this”值传递 -
技术细节
项目 描述 返回值: 一个数组,包含为原始数组中的每个元素调用提供的函数的结果。 JavaScript版本: ECMAScript 5 -
更多例子
将数组中的所有值乘以特定数字:
尝试一下var numbers = [65, 44, 12, 4]; function multiplyArrayElement(num) { return num * document.getElementById("multiplyWith").value; } function myFunction() { document.getElementById("demo").innerHTML = numbers.map(multiplyArrayElement); }
获取阵列中每个人的fullname:
尝试一下var persons = [ {firstname : "Malcom", lastname: "Reynolds"}, {firstname : "Kaylee", lastname: "Frye"}, {firstname : "Jayne", lastname: "Cobb"} ]; function getFullName(item, index) { var fullname = [item.firstname,item.lastname].join(" "); return fullname; } function myFunction() { document.getElementById("demo").innerHTML = persons.map(getFullName); }