Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对象内的映射数组_Javascript_Lodash - Fatal编程技术网

Javascript 对象内的映射数组

Javascript 对象内的映射数组,javascript,lodash,Javascript,Lodash,我有以下复杂的JSON对象,它在数组中包含数组和数组。如何解析这些数组并为数组中的每个元素创建对象数组。我正在我的项目中使用lodash库,以防有任何可用的函数 { studentId: 123 name: XYZ phone: 34234234 gender: M subjects: [{ studentId: 123 subjectName: Math scores:50 assignments:[ {

我有以下复杂的JSON对象,它在数组中包含数组和数组。如何解析这些数组并为数组中的每个元素创建对象数组。我正在我的项目中使用lodash库,以防有任何可用的函数

   {
  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);
});