一:基础概念
在 JavaScript 中,map()
是一个数组方法,可以将一个数组中的每个元素转换为另一个值,并返回一个新的数组,新数组的元素个数与原数组相同。
map()
方法的语法如下:
array.map(function(currentValue, index, arr), thisValue)
其中,array
是要操作的数组,function
是用来操作每个元素的函数,thisValue
是可选参数,用来指定函数中的 this
值。
function
接收三个参数:
currentValue
:当前处理的元素;index
:当前处理元素的索引;arr
:当前处理元素的数组。
下面是一个简单的例子,将一个数组中的每个元素乘以 2 并返回一个新数组:
const arr = [1, 2, 3, 4, 5];
const newArray = arr.map(function(num) { return num * 2; });
console.log(newArray); // [2, 4, 6, 8, 10]
在 ES6 中,map()
方法还可以使用箭头函数来简化代码:
const arr = [1, 2, 3, 4, 5];
const newArray = arr.map(num => num * 2);
console.log(newArray); // [2, 4, 6, 8, 10]
二:常用场景
1、替换对象的key
let a = [
{key:'sq',value:'18'},
{key:'sl',value:'20'},
{key:'wh',value:'10'}
];
a = a.map((item)=>{
return {
name: item.key,
age: item.value
}
});
console.log(a);
// 如下为操作后对象
[
{
"name": "sq",
"age": "18"
},
{
"name": "sl",
"age": "20"
},
{
"name": "wh",
"age": "10"
}
]