1. 定义和用法
- map() 方法 按照原始数组元素顺序依次处理元素
- map() 方法 返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
- map() 方法 不会对空数组进行检测,不会改变原始数组。
2. 语法
array.map(function(currentValue,index,arr), thisValue)
3. 例子
1.假如后端给回的数据不是你想要的,可以用Map()方法 改变后端返回的resultArr数组里的key值
const users=res.resultArr.map(item => ({
url: item.html_url,
img: item.avatar_url,
name: item.login,
})
);
2.把 imagePreviewList变成urlList
this.imagePreviewList=[
url:'image/01.jpg',
url:'image/02.png'
]
let urlList=this.imagePreviewList.map(element => {
var obj=new Object()
obj.url=element
obj.lb=1
return obj
});
console.log(urlList)
// urlList=[
// {url:'image/01.jpg',lb:1},
// {url:'image/02.png',lb:1}
// ]
ES6新增的Map、Set数据结构具体看这篇 [ES6]Day05—Set 和 Map 数据结构
面试题目
解法1:用 Map
var A=[
{id:"0",name:"张三",job:"卖狗肉",age:"35"},
{id:"1",name:"李四",job:"挂羊头",age:"26"},
{id:"2",name:"王五",job:"苦逼前端",age:"25"},
{id:"2",name:"赵六",job:"辣鸡",age:"27"}
]
function changeToObj(arr){
var obj={}
var map =new Map();
arr.forEach((item,i) => {
for (const key in item) {
if(!map.has(key)){ //是否存在key
map.set(key,1);//设置Map键值对
obj[key]=[];
obj[key].push(item[key]);
} else{
obj[key].push(item[key]);
}
}
});
console.log(obj)
}
changeToObj(A);//调用方法
结果:
解法1:用 Set
var A=[
{id:"0",name:"张三",job:"卖狗肉",age:"35"},
{id:"1",name:"李四",job:"挂羊头",age:"26"},
{id:"2",name:"王五",job:"苦逼前端",age:"25"},
{id:"2",name:"赵六",job:"辣鸡",age:"27"}
]
function changeToObj(arr){
var obj={}
var set =new Set();
arr.forEach((item,i) => {
for (const key in item) {
if(!set.has(key)){ //是否存在 key
set.add(key);//往 Set里添加元素
obj[key]=[];
obj[key].push(item[key]);
} else{
obj[key].push(item[key]);
}
}
});
console.log(obj)
}
changeToObj(A);//调用方法
结果也一样。
参考链接: