需要Javascript数组转换逻辑方面的帮助吗

需要Javascript数组转换逻辑方面的帮助吗,javascript,Javascript,我有一个JS对象数组,如下所示: [ { key1:"value1", key2:"value2", key3:"value3" }, { key1:"value1", key2_updated:"value2_updated", key3_updated:"value3_updated" } ] { value1: { key2:"value2", key3:"value3",

我有一个JS对象数组,如下所示:

[
  {
     key1:"value1",
     key2:"value2",
     key3:"value3"
  }, 
  {
     key1:"value1",
     key2_updated:"value2_updated",
     key3_updated:"value3_updated"
  }
]
{
   value1: {
      key2:"value2",
      key3:"value3",
      key2_updated:"value2_updated",
      key3_updated:"value3_updated"
   }
}
转换后,它必须是object类型,如下所示:

[
  {
     key1:"value1",
     key2:"value2",
     key3:"value3"
  }, 
  {
     key1:"value1",
     key2_updated:"value2_updated",
     key3_updated:"value3_updated"
  }
]
{
   value1: {
      key2:"value2",
      key3:"value3",
      key2_updated:"value2_updated",
      key3_updated:"value3_updated"
   }
}

请注意,在数组中,每个对象的第一个键值都是相同的,因此我希望将它们合并,并使用value1:mergecontent创建新对象,如果不相同,则在同一对象中创建新的k-v。

首先按
key1
对对象数组进行分组,然后分配属性

var数据=[
{
键1:“值1”,
键2:“值2”,
键3:“值3”
}, 
{
键1:“值1”,
键2\u更新:“值2\u更新”,
键3\u更新:“值3\u更新”
},
{
键1:“值2”,
键2\u更新:“值2\u更新”,
键3\u更新:“值3\u更新”
}
];
var结果=数据减少((x,v)=>{
x[v.key1]=x[v.key1]| |{}
常数{key1,…res}=v
x[v.key1]=对象分配(x[v.key1],res)
返回x
}, {})
var newResult=data.reduce((x,v)=>{
x[v.key1]=x[v.key1]| |{}
常数{key1,…res}=v
var newObj={}
var电流键
for(让Object.entries(res))的[key,value]{
如果(当前键){
newObj[currentKey]=值;
currentKey=null;
}否则{
newObj[value]=“”;
currentKey=值
}
}
x[v.key1]=Object.assign(x[v.key1],newObj)
返回x
}, {})
函数变换(d,k){
返回d.reduce((x,v)=>{
x[v[k]]=x[v[k]]| |{
常数{key1,…res}=v
var newObj={}
var电流键
for(让Object.entries(res))的[key,value]{
如果(当前键){
newObj[currentKey]=值;
currentKey=null;
}否则{
newObj[value]=“”;
currentKey=值
}
}
x[v[k]=Object.assign(x[v[k]],newObj)
返回x
}, {})
}

console.log(转换(数据,“key1”))
请阅读。我们希望您向我们展示您已经尝试过的内容,并随附适当的问题描述。这不是一个代码编写服务,您只需放弃您的需求,就必须有人为您创建。假设指向数组的数据的每个对象都只有键(键1、键2、键3),如果您只得到奇数个属性总数,则始终显示?如果数组中的每个JS对象都是固定的,并且每个JS对象都有这3个键,那么它将丢失valueKey。现在我检查键1,如果两个或多个对象“键1”指向相同的值,将它们组合在一起(其中“键2值”将成为键,“键3值”将成为用于组合的值),非常感谢。这就是我要寻找的。如果解决了您的问题,请标记我的答案,这将有助于其他人知道问题已经解决;)快乐编码!