Javascript中的格式化响应
我有一组数据,需要用HTML格式化和呈现 以下是数据:Javascript中的格式化响应,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有一组数据,需要用HTML格式化和呈现 以下是数据: var data = [{ name: 'john', age: 20, department: 'financial', group: 'groupA' }, { name: 'john', age: 20, department: 'healthcare', group: 'groupA'
var data = [{
name: 'john',
age: 20,
department: 'financial',
group: 'groupA'
},
{
name: 'john',
age: 20,
department: 'healthcare',
group: 'groupA'
},
{
name: 'john',
age: 20,
department: 'insurance',
group: 'groupA'
},
{
name: 'john',
age: 20,
department: 'Realestate',
group: 'groupB'
}, {
name: 'Mark',
age: 20,
department: 'financial',
group: 'groupA'
},
{
name: 'Mark',
age: 21,
department: 'insurance',
group: 'groupA'
},
{
name: 'Mark',
age: 21,
department: 'financial',
group: 'groupB'
}
];
这里我有多个用户,他属于不同的组和部门。我想以这种方式格式化,如果他属于同一个组,那么在数组中获取他所属的部门,并将其他部门显示为一个新对象
响应应如下所示:
var data_formatted = [
[{
name: 'john',
age: 20,
department: ['financial', 'healthcare', 'insurance'],
group: 'groupA'
},
{
name: 'john',
age: 20,
department: 'Realestate',
group: 'groupB'
}
],
[{
name: 'Mark',
age: 20,
department: ['financial', 'insurance'],
group: 'groupA'
},
{
name: 'Mark',
age: 21,
department: 'financial',
group: 'groupB'
}
]
];
有什么建议吗 我想这可能会对你有所帮助
var数据=[{
姓名:'约翰',
年龄:20,,
部门:"财务",,
组:'groupA'
},
{
姓名:'约翰',
年龄:20,,
"医护",,
组:'groupA'
},
{
姓名:'约翰',
年龄:20,,
部门:"保险",,
组:'groupA'
},
{
姓名:'约翰',
年龄:20,,
部门:"地产",,
组:'groupB'
}, {
姓名:'马克',
年龄:20,,
部门:"财务",,
组:'groupA'
},
{
姓名:'马克',
年龄:21岁,
部门:"保险",,
组:'groupA'
},
{
姓名:'马克',
年龄:21岁,
部门:"财务",,
组:'groupB'
}
];
var数据_格式化=[];
var-byname=u.groupBy(数据,函数(元素){return-element.name});
_.forEach(按名称、函数(元素){
var bygroup=u2;.groupBy(元素,函数(元素){return element.group});
_.forEach(按组、函数(元素、键、组){
var departments=u.map(元素“department”);
元素[0]['department']=部门;
组[键]=元素[0];
})
数据格式化推送(u.values(bygroup));
})
console.log(数据格式化)代码>
我想这可能会对你有所帮助
var数据=[{
姓名:'约翰',
年龄:20,,
部门:"财务",,
组:'groupA'
},
{
姓名:'约翰',
年龄:20,,
"医护",,
组:'groupA'
},
{
姓名:'约翰',
年龄:20,,
部门:"保险",,
组:'groupA'
},
{
姓名:'约翰',
年龄:20,,
部门:"地产",,
组:'groupB'
}, {
姓名:'马克',
年龄:20,,
部门:"财务",,
组:'groupA'
},
{
姓名:'马克',
年龄:21岁,
部门:"保险",,
组:'groupA'
},
{
姓名:'马克',
年龄:21岁,
部门:"财务",,
组:'groupB'
}
];
var数据_格式化=[];
var-byname=u.groupBy(数据,函数(元素){return-element.name});
_.forEach(按名称、函数(元素){
var bygroup=u2;.groupBy(元素,函数(元素){return element.group});
_.forEach(按组、函数(元素、键、组){
var departments=u.map(元素“department”);
元素[0]['department']=部门;
组[键]=元素[0];
})
数据格式化推送(u.values(bygroup));
})
console.log(数据格式化)代码>
JSON是用于数据交换的文本表示法。如果您处理的是JavaScript源代码,而不是字符串,那么您就不是在处理JSON。源数据是由您生成的吗?如果是这样的话,你能告诉我们怎么做吗?我是从后端的AJAX调用中获取这些数据的。你可能应该了解这个Json字符串是如何生成的,并在那里进行更改。如果您没有访问此代码的权限,只需使用$.jsonParse()
函数将该字符串解析为一个对象,并在其上循环为每个用户创建新的部门列表。@sree3505577但您是否生成了它?因为您希望的格式化方式应该在后端完成JSON是用于数据交换的文本表示法。如果您处理的是JavaScript源代码,而不是字符串,那么您就不是在处理JSON。源数据是由您生成的吗?如果是这样的话,你能告诉我们怎么做吗?我是从后端的AJAX调用中获取这些数据的。你可能应该了解这个Json字符串是如何生成的,并在那里进行更改。如果您没有访问此代码的权限,只需使用$.jsonParse()
函数将该字符串解析为一个对象,并在其上循环为每个用户创建新的部门列表。@sree3505577但您是否生成了它?因为你想要的格式应该在后面完成-end@sree3505577很高兴听到@很高兴听到这个消息!