概述
map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。
array.map(callback, thisArg)
- map()方法中的 callback 回调函数默认支持 3 个参数,第 1 个是遍历的数组元素、第2个是元素对应的索引、第3个是数组本身。
- map()的 callback 函数需要有返回值,这些返回值组成新数组作为map()方法的返回值。如果回调函数没有返回值,则视为返回undefined
var resume = {}
var resumeConfig = [
{ field: 'profile',icon: 'visiting',keys: ['name','city','title','birthday']},
{ field: 'workHistory',icon: 'work',type: 'array',keys: ['company','details']},
{ field: 'education',icon: 'Book',type: 'array',keys: ['school','details']},
{ field: 'projects',icon: 'project',type: 'array',keys: ['name','details']},
]
resumeConfig.map((item)=>{
if(item.type === 'array'){
resume[item.field] = []
}else {
resume[item.field] = {}
}
item.keys.map((key)=>{
resume[item.field][key] = ''
})
})
console.log(resume)
-
这样我们就可以利用map()中 callback遍历resumeConfig这个模板数组所有元素得到一个新的对象,不同用户在操作这个数据的时候都不会破坏resumeConfig数据格式了