Javascript 根据每个项目中的属性值将项目从JSON数组中提取到新变量中?

Javascript 根据每个项目中的属性值将项目从JSON数组中提取到新变量中?,javascript,jquery,json,Javascript,Jquery,Json,基于下面的JSON数组,我需要根据每个项目的类别属性将其拆分为单独的JSON数组 因此,category属性设置为person的所有项目都将被取出并放入一个新变量中,该变量包含一个新的JSON数组,其中只包含category项目 然后,我需要对使用JavaScript或jQuery找到的每个类别执行此操作 下面的示例数据有3个不同的类别值: 人 地址 它 代码: 如果你不反对使用图书馆,我会告诉你去图书馆。使用where函数,您可以执行如下操作来完成结果 _.where(mock_data_

基于下面的JSON数组,我需要根据每个项目的
类别
属性将其拆分为单独的JSON数组

因此,category属性设置为
person
的所有项目都将被取出并放入一个新变量中,该变量包含一个新的JSON数组,其中只包含
category
项目

然后,我需要对使用JavaScript或jQuery找到的每个类别执行此操作

下面的示例数据有3个不同的类别值:

  • 地址
代码:


如果你不反对使用图书馆,我会告诉你去图书馆。使用where函数,您可以执行如下操作来完成结果

_.where(mock_data_types, {'category': 'person'});
我还希望您可以更复杂地采集数据,并添加任意多的属性,例如:

_.where(mock_data_types, {'category': 'person', 'type': 'first_name'});

如果你不反对使用图书馆,我会告诉你去图书馆。使用where函数,您可以执行如下操作来完成结果

_.where(mock_data_types, {'category': 'person'});
我还希望您可以更复杂地采集数据,并添加任意多的属性,例如:

_.where(mock_data_types, {'category': 'person', 'type': 'first_name'});

这是一个不使用任何库的简单javascript解决方案

var dt = {};
for(var a=0;a<mock_data_types.length;a++) {
    if(dt[mock_data_types[a].category]){
        dt[mock_data_types[a].category].push(mock_data_types[a])
    }else{
        dt[mock_data_types[a].category] = [mock_data_types[a]];
    }

}
var dt={};

对于(var a=0;a这是一个不使用任何库的简单javascript解决方案

var dt = {};
for(var a=0;a<mock_data_types.length;a++) {
    if(dt[mock_data_types[a].category]){
        dt[mock_data_types[a].category].push(mock_data_types[a])
    }else{
        dt[mock_data_types[a].category] = [mock_data_types[a]];
    }

}
var dt={};

对于(var a=0;a来说,这是一项非常简单的工作

var mock_data_types=[{“type”:“first_name”,“name”:“first Name1”,“description”:“Random generated first name”,“example”:“Jason”,“category”:“person”},{“type”:“last name”,“name”:“last Name2”,“description”:“Random generated last name”,“example”:“Davis”,“category”:“address”},{“type”:“domain”,“name”:“domain”;“domain Name3”,“description”:“随机生成的WWW域名”,“示例”:“google.com”,“category”:“it”},{“type”:“性别”,“Name”:“Gender4”,“description”:“随机生成的性别类型”,“示例”:“女性”,“category”:“person”},{“type”:“first_Name”,“Name”:“first Name”,“description”:“随机生成的名字”,“示例”:“Jason”,“category”:“person”},{“type”:“last_Name”,“Name”:”姓氏6,“描述”:“随机生成的姓氏”,“示例”:“戴维斯”,“类别”:“地址”},{“类型”:“域名”,“名称”:“域名7”,“描述”:“随机生成的WWW域名”,“示例”:“google.com”,“类别”:“人”},{“类型”:“性别”,“名称”:“性别8”,“描述”:“随机生成的性别类型”,“示例”:“女性”,“类别”:“地址”},{”输入“:”名字“:”名字“:”名字“:”描述“:”随机生成的名字“,”示例“:”Jason“,”类别“:”it“},{”类型“:”姓氏“,”名称“:”姓氏“,”描述“:”随机生成的姓氏“,”示例“:”Davis“,”类别“:”人名“,”域名“,”描述“:”随机生成的WWW域名“,”示例“:”google.com“,”类别“:”it“},{”类型“:”性别“,”姓名“:”性别12“,”描述“:”随机生成的性别类型“,”示例“:”女性“,”类别“:”个人“},{”类型“,”名字“:”名字“,”名字“,”名字“,”描述“:”随机生成的名字“,”示例“:”杰森“,”类别“:”地址“},{”类型“:”姓氏“,”描述“:”随机生成的姓氏“,”示例“:”戴维斯“,”类别“:”个人“},{”类型“:”域名“,”描述“:”随机生成的WWW域名“,”示例“:”google.com“,”类别“:”it“},{”类型“:”性别“,”姓名“:”性别“,”描述“:”随机生成的性别类型“,”示例“:”女性“,”类别“:”个人“}”;
变量类别=模拟数据类型。减少((类别,数据类型)=>{
类别[dataType.category]=类别[dataType.category]| |[];
类别[dataType.category].push(数据类型);
退货类别;
}, {});

document.write(“”+JSON.stringify(categories,null,)+“”);
这对于

var mock_data_types=[{“type”:“first_name”,“name”:“first Name1”,“description”:“Random generated first name”,“example”:“Jason”,“category”:“person”},{“type”:“last name”,“name”:“last Name2”,“description”:“Random generated last name”,“example”:“Davis”,“category”:“address”},{“type”:“domain”,“name”:“domain”;“domain Name3”,“description”:随机生成的WWW域名“,”示例“:”google.com“,”类别“:”it“},{”类型“,”性别“,”姓名“:”性别4“,”说明“,”随机生成的性别类型“,”示例“,”女性“,”类别“:”个人“,”类别“,”个人“,”姓名“:”第一名“,”说明“,”随机生成的名字“,”示例“:”杰森“,”类别“:”个人“,”个人“},{”类型“:”最后名“,”姓名“:”姓氏6,“描述”:“随机生成的姓氏”,“示例”:“戴维斯”,“类别”:“地址”},{“类型”:“域名”,“名称”:“域名7”,“描述”:“随机生成的WWW域名”,“示例”:“google.com”,“类别”:“人”},{“类型”:“性别”,“名称”:“性别8”,“描述”:“随机生成的性别类型”,“示例”:“女性”,“类别”:“地址”},{”输入“:”名字“:”名字“:”名字“:”描述“:”随机生成的名字“,”示例“:”Jason“,”类别“:”it“},{”类型“:”姓氏“,”名称“:”姓氏“,”描述“:”随机生成的姓氏“,”示例“:”Davis“,”类别“:”人名“,”域名“,”描述“:”随机生成的WWW域名“,”示例“:”google.com“,”类别“:”it“},{”类型“:”性别“,”姓名“:”性别12“,”描述“:”随机生成的性别类型“,”示例“:”女性“,”类别“:”个人“},{”类型“,”名字“:”名字“,”名字“,”名字“,”描述“:”随机生成的名字“,”示例“:”杰森“,”类别“:”地址“},{”类型“:”姓氏“,”描述“:”随机生成的姓氏“,”示例“:”戴维斯“,”类别“:”个人“},{”类型“:”域名“,”描述“:”随机生成的WWW域名“,”示例“:”google.com“,”类别“:”it“},{”类型“:”性别“,”姓名“:”性别“,”描述“:”随机生成的性别类型“,”示例“:”女性“,”类别“:”个人“}”;
变量类别=模拟数据类型。减少((类别,数据类型)=>{
类别[dataType.category]=类别[dataType.category]| |[];
类别[数据类型]