Javascript中的格式化响应

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'

我有一组数据,需要用HTML格式化和呈现

以下是数据:

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很高兴听到@很高兴听到这个消息!