Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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 使用jQuery按JSON数组分组_Javascript_Jquery_Arrays_Grouping - Fatal编程技术网

Javascript 使用jQuery按JSON数组分组

Javascript 使用jQuery按JSON数组分组,javascript,jquery,arrays,grouping,Javascript,Jquery,Arrays,Grouping,我有一组JSON数组,我希望结果按“Id”列分组。我不会在这里使用下划线.js,因为这不能在我们的项目中使用。唯一的选择是使用jQuery执行。我的源数组和预期结果如下 var origObj=[{“Id”:“1”,“name”:“xxx”,“age”:“22”}, {“Id”:“1”,“name”:“yyy”,“age”:“15”}, {“Id”:“5”,“姓名”:“zzz”,“年龄”:“59”}] 变量输出=[{“1”:[{“Id”:“1”,“名称”:“xxx”,“年龄”:“22”}, {“

我有一组JSON数组,我希望结果按
“Id”
列分组。我不会在这里使用下划线.js,因为这不能在我们的项目中使用。唯一的选择是使用jQuery执行。我的源数组和预期结果如下

var origObj=[{“Id”:“1”,“name”:“xxx”,“age”:“22”},
{“Id”:“1”,“name”:“yyy”,“age”:“15”},
{“Id”:“5”,“姓名”:“zzz”,“年龄”:“59”}]
变量输出=[{“1”:[{“Id”:“1”,“名称”:“xxx”,“年龄”:“22”},
{“Id”:“1”,“name”:“yyy”,“age”:“15”}],
“5”:[{“Id”:“5”,“姓名”:“zzz”,“年龄”:“59”}]]
您可以使用来完成此操作。查看这篇文章,了解更多关于这是你需要的东西的详细信息

var data=[{“Id”:“1”,“name”:“xxx”,“age”:“22”},
{“Id”:“1”,“name”:“yyy”,“age”:“15”},
{“Id”:“5”,“姓名”:“zzz”,“年龄”:“59”}];
console.log(data.reduce(函数)(结果,当前){
结果[current.Id]=结果[current.Id]| |[];
结果[current.Id]。推送(current);
返回结果;
}, {}));试试看

var origObj=[{“Id”:“1”,“name”:“xxx”,“age”:“22”},
{“Id”:“1”,“name”:“yyy”,“age”:“15”},
{“Id”:“5”,“name”:“zzz”,“age”:“59”}],输出;
输出=[origObj.reduce((a,c)=>(a[c.Id]=(a[c.Id]| |[])。concat(c,a),{});

控制台日志(输出)你能给我们看一下你试过的代码吗?我试过for循环,但是没有用。这就是我寻求帮助的原因。我在这里根本看不到任何JSON。这些是javascript数组/对象文本。嘿!!很酷的人。成功了。我只是将其分配给一个变量,而不是在控制台上打印。这似乎很有效!。它能兼容所有的网络浏览器吗?看起来是的。。在最新的浏览器中。。这很酷,但我如何应用多键分组?