Javascript 对象内的映射数组
我有以下复杂的JSON对象,它在数组中包含数组和数组。如何解析这些数组并为数组中的每个元素创建对象数组。我正在我的项目中使用lodash库,以防有任何可用的函数Javascript 对象内的映射数组,javascript,lodash,Javascript,Lodash,我有以下复杂的JSON对象,它在数组中包含数组和数组。如何解析这些数组并为数组中的每个元素创建对象数组。我正在我的项目中使用lodash库,以防有任何可用的函数 { studentId: 123 name: XYZ phone: 34234234 gender: M subjects: [{ studentId: 123 subjectName: Math scores:50 assignments:[ {
{
studentId: 123
name: XYZ
phone: 34234234
gender: M
subjects: [{
studentId: 123
subjectName: Math
scores:50
assignments:[
{
type: Internal,
submitted: yes,
status: failed
},
{
type: External,
submitted: yes,
status: passed
}]
},
{
studentId: 123
subjectName: Science
score: 20
assignments:[
{
type: Internal,
submitted: yes,
status: passed
},
{
type: External,
submitted: yes,
status: failed
}]
}]
}
期望:
[{
studentId:123,
name: XYZ
phone: 34234234
gender: M,
subjectName: Math
scores:50
assignments:[
{
type: Internal,
submitted: yes,
status: failed
},
{
type: External,
submitted: yes,
status: passed
}]
},
{
studentId:123,
name: XYZ
phone: 34234234
gender: M,
subjectName: science
scores:20
assignments:[
{
type: Internal,
submitted: yes,
status: failed
},
{
type: External,
submitted: yes,
status: passed
}]
}
]
我鼓励你们使用这个软件包。它非常有用,即使是嵌套的,也会照顾到您的收藏。我鼓励您使用这个软件包。它非常有用,即使是嵌套的,也会照顾到您的集合。您可以使用它获取学生的详细信息
,而不使用主题
数组,使用这些详细信息
使用through转换主题数组中的每个项目
var数据={
学号:'123',
名称:“XYZ”,
电话:34234234,
性别:'M',
主题:[{
学号:'123',
主题名称:“数学”,
分数:50分,
任务:[{
类型:“内部”,
提交:'是',
状态:“失败”
},
{
类型:“外部”,
提交:'是',
状态:“通过”
}
]
},
{
学号:'123',
主题名称:“科学”,
分数:20,,
任务:[{
类型:“内部”,
提交:'是',
状态:“通过”
},
{
类型:“外部”,
提交:'是',
状态:“失败”
}
]
}
]
};
var详细信息=u.omit(数据“主体”);
var result=551;.map(data.subject,函数(subject){
返回默认值({},详细信息,主题);
});
控制台日志(结果)代码>
body>div{min height:100%;top:0;}
您可以使用来获取没有主题
数组的学生的详细信息
,使用这些详细信息
通过转换主题数组中的每个项目
var数据={
学号:'123',
名称:“XYZ”,
电话:34234234,
性别:'M',
主题:[{
学号:'123',
主题名称:“数学”,
分数:50分,
任务:[{
类型:“内部”,
提交:'是',
状态:“失败”
},
{
类型:“外部”,
提交:'是',
状态:“通过”
}
]
},
{
学号:'123',
主题名称:“科学”,
分数:20,,
任务:[{
类型:“内部”,
提交:'是',
状态:“通过”
},
{
类型:“外部”,
提交:'是',
状态:“失败”
}
]
}
]
};
var详细信息=u.omit(数据“主体”);
var result=551;.map(data.subject,函数(subject){
返回默认值({},详细信息,主题);
});
控制台日志(结果)代码>
body>div{min height:100%;top:0;}
这是无效的JSON。键和字符串值周围缺少引号。这是无效的JSON。键和字符串值周围缺少引号。非常感谢Ryeball。这就是我要找的。非常感谢你。这就是我要找的。
var details = _.omit(data, 'subjects');
var result = _.map(data.subjects, function(subject) {
return _.defaults({}, details, subject);
});