data = [{
name: '张三',
teacherVOList: [
{
age: 12,
sex: '男'
images:"456"
},
{
age: 18,
sex: '女'
images:"123"
}
]
}]
目的是生成以下数据,数据可以多不可以少
data = [{
name: '张三',
teacher: [
{
headImage :"456"
},
{
headImage :"123"
}
]
teacherVOList: [
{
age: 12,
sex: '男'
images:"456"
},
{
age: 18,
sex: '女'
images:"123"
}
]
}]
当一个数组对象需要在对象中新建一个字段并为该字段添加该数组对象中的部分值进行双层foreach循环获取或打印该值会出错阻断循环不执行,例如
let courseList = data
courseList.forEach((element, index) => {
element.teacher = []
element.teacherVOList.forEach((item) => {
teachers.headImage = item.images
element.teacher.push(teachers)
})
})
此时需要对要复制的项进行结构赋值,然后从本身的数据中进行赋值
courseList = data
courseList.forEach((element, index) => {
//为每一项添加teacher属性
element.teacher = []
element.teacherVOList.forEach((item) => {
//将数据先结构到teachers中,
//不可以直接teachers.headImage=item.images
//不可以出现item.images 无论是打印还是赋值都不行,会出错。
let teachers = { ...item }
teachers.headImage = teachers.images
element.teacher.push(teachers)
})
})