作用:
map() 办法返回一个新数组,数组中的元素为原始数组元素调用函数解决后的值
语法:
array.map(function(currentValue,index,arr), thisValue)
- currentValue,必填,以后元素的值
- index,可选,以后元素在数组中的索引值
- arr 可选,以后元素属于的数组对象
- thisValue,可选,对象作为该执行回调时应用,传递给函数,用作 “this” 的值。如果省略了 thisValue,或者传入 null、undefined,那么回调函数的 this 为全局对象。
留神:
map() 不会对空数组进行检测。
map() 不会扭转原始数组。
实例:
var elements = [
'Hydrogen',
'Helium',
'Lithium',
'Beryllium'
];
elements.map(function(element) {return element.length;}); // 返回数组:[8, 6, 7, 9]
// 下面的一般函数能够改写成如下的箭头函数
elements.map((element) => {return element.length;}); // [8, 6, 7, 9]
// 当箭头函数只有一个参数时,能够省略参数的圆括号
elements.map(element => {return element.length;}); // [8, 6, 7, 9]
// 当箭头函数的函数体只有一个 `return` 语句时,能够省略 `return` 关键字和办法体的花括号
elements.map(element => element.length); // [8, 6, 7, 9]
// 在这个例子中,因为咱们只须要 `length` 属性,所以能够应用参数解构
// 须要留神的是字符串 `"length"` 是咱们想要取得的属性的名称,而 `lengthFooBArX` 则只是个变量名
// 能够替换成任意非法的变量名
elements.map(({"length": lengthFooBArX}) => lengthFooBArX); // [8, 6, 7, 9]