Javascript 如何在唯一数组中转换对象数组?

Javascript 如何在唯一数组中转换对象数组?,javascript,arrays,Javascript,Arrays,这是我的初始数据: const data = [ { "user":{ "amount":"1", "date":"2020-07-31T18:34:48.635Z", "shiftSelected":"10:00" } }, { "user

这是我的初始数据:

const data = [
   {
      "user":{
         "amount":"1",
         "date":"2020-07-31T18:34:48.635Z",
         "shiftSelected":"10:00"
      }
   },
   {
      "user":{
         "name":"Name",
         "surname":"aaa",         
         "obs":"eee"
      }
   }
]
我正在尝试将对象数组转换为唯一数组。这是我的输出:

const newData = {
  amount: "1",
  date: "2020-07-31T18:34:48.635Z",
  shiftSelected: "10:00",
  name: "Name",
  surname:"aaa",         
  obs:"eee"    
}
我可以通过map调用来迭代数组:
let b=data.map(item=>item.user)
,但是我需要编写更多的代码来加入。我知道用一种独特的逻辑是可以做到的。我尝试过,但没有成功。

您可以使用来合并对象的属性。请注意,使用此方法,以后的属性将覆盖以前的属性

const数据=[
{
“用户”:{
“金额”:“1”,
“日期”:“2020-07-31T18:34:48.635Z”,
“已选择班次”:“10:00”
}
},
{
“用户”:{
“名称”:“名称”,
“姓氏”:“aaa”,
“obs”:“eee”
}
}
];
const result=data.reduce((acc,{user})=>Object.assign(acc,user),{});
控制台日志(结果)
const数据=[
{
“用户”:{
“金额”:“1”,
“日期”:“2020-07-31T18:34:48.635Z”,
“已选择班次”:“10:00”
}
},
{
“用户”:{
“名称”:“名称”,
“姓氏”:“aaa”,
“obs”:“eee”
}
}
]
设b=数据。减少((acc,rec)=>{
常量{user}=rec
返回{…acc,…user}
}, {} )

console.log(b)
在映射数据后使用此选项这不是逻辑,而是。。。。。


非常感谢你@Zkk很乐意帮忙。
const x = data.map(obj => obj.user);

function flatObj(arr) {
  const res = {};
  arr.forEach(y => {
    for(const key in y) {
      res[key] = y[key];
    }
  })
  return res;
}

const resault = flatObj(x);