概述
map() 方法創(chuàng)建一個新數(shù)組,其結(jié)果是該數(shù)組中的每個元素都調(diào)用一個提供的函數(shù)后返回的結(jié)果蚀腿。
array.map(callback, thisArg)
- map()方法中的 callback 回調(diào)函數(shù)默認(rèn)支持 3 個參數(shù)考余,第 1 個是遍歷的數(shù)組元素技即、第2個是元素對應(yīng)的索引未蝌、第3個是數(shù)組本身。
- map()的 callback 函數(shù)需要有返回值易茬,這些返回值組成新數(shù)組作為map()方法的返回值酬蹋。如果回調(diào)函數(shù)沒有返回值,則視為返回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這個模板數(shù)組所有元素得到一個新的對象抽莱,不同用戶在操作這個數(shù)據(jù)的時候都不會破壞resumeConfig數(shù)據(jù)格式了
image.png