将字典数组转换为javascript中的单个字典数组
我有一个javascript数组将字典数组转换为javascript中的单个字典数组,javascript,reactjs,Javascript,Reactjs,我有一个javascript数组 arr = [{"class":"a"},{"sub_class":"b"},{"category":"c"},{"sub_category":"d"}] 我想要一个新数组,如下所示: new_arr = [{"class":"a", "sub_clas
arr = [{"class":"a"},{"sub_class":"b"},{"category":"c"},{"sub_category":"d"}]
我想要一个新数组,如下所示:
new_arr = [{"class":"a", "sub_class":"b", "category":"c", "sub_category":"d"}]
是否可以在Javascript中执行此操作而不使用for循环来迭代arr?您可以使用Object.assign:
常量数组=[{
班级:a
}, {
次级:b
}, {
类别:c
}, {
亚类:d
}]
const mergedObject=Object.assign{},…数组;
//如果这是故意的,就放进一个数组
const newArray=[mergedObject];
console.lognewArray 我认为您希望合并对象。可以使用扩展运算符或Object.assign。我看不出在数组中有一个对象的意义。考虑到您的需求,您可以:
const merged = arr.reduce((list, curr) => {
return Object.assign({}, list, curr);
}, {});
const newArr = [merged];
你可以试试这个
var arr = [{"class":"a"},{"sub_class":"b"},{"category":"c"},{"sub_category":"d"}];
var res=[];
var res1=[];
res=Object.assign(...arr);
res1.push(res);
console.log("Result: ",res1);
如果只有一个元素,为什么它仍然是一个数组?因为我以后可能需要将新字典推送到数组中。请注意,这会使arr中的第一个对象发生变异,您可能会关心,也可能不关心。将{}作为第一个元素传递将确保您正在创建一个新对象,并且正在分配给该对象。