Javascript 将对象的一部分提取到数组中
我有一个由数百个对象组成的数组,如下所示:Javascript 将对象的一部分提取到数组中,javascript,json,angular,Javascript,Json,Angular,我有一个由数百个对象组成的数组,如下所示: { "id" : 893, .... "responsable" : { "id" : 792, "version" : 13, "username" : "xxxxx@mail.es", "nombre" : "Peter", "apellido1" : "Murphy", "apellido2" : "XXX" } } 在
{
"id" : 893,
....
"responsable" : {
"id" : 792,
"version" : 13,
"username" : "xxxxx@mail.es",
"nombre" : "Peter",
"apellido1" : "Murphy",
"apellido2" : "XXX"
}
}
在我的对象中,我有另一个对象是“负责任的”。需要获取这些对象的数组,但每个对象仅一次(删除重复)您可以使用
reduce
将数据汇总到对象。并使用Object.values
将对象转换为数组
本例将根据responsable.id
让arr=[
{“id”:893,“负责”:{“id”:792,“版本”:13,“用户名”:xxxxx@mail.es,“nombre”:“John”,“apellido1”:“Murphy”,“apellido2”:“XXX”},
{“id”:894,“负责”:{“id”:793,“版本”:13,“用户名”:xxxxx@mail.es,“nombre”:“彼得”,“阿佩利多1”:“墨菲”,“阿佩利多2”:“XXX”},
{“id”:895,“负责”:{“id”:792,“版本”:13,“用户名”:xxxxx@mail.es,“nombre”:“John”,“apellido1”:“Murphy”,“apellido2”:“XXX”},
{“id”:896,“负责”:{“id”:794,“版本”:13,“用户名”:xxxxx@mail.es,“nombre”:“保罗”,“阿佩利多1”:“墨菲”,“阿佩利多2”:“XXX”}
];
让responsable=Object.values(arr.reduce((c,v)=>Object.assign(c,{[v.responsable.id]:v.responsable}),{});
控制台日志(负责)代码>删除重复项的标准是什么?你如何区分两个物体?