Javascript 如何将一个对象的值复制到另一个对象的键中?

Javascript 如何将一个对象的值复制到另一个对象的键中?,javascript,object,Javascript,Object,我有两个物体 目标1: { "a": "XXXXX", "b": "YYYYY", "c": "ZZZZZ" } 和目标2: { "a": "KKKKK", "b": "LLLLL", "c": "MMMMM" } 两者在同一索引中具有相同的长度和相同的键,但值不同 结果应该是: { "XXXXX": "KKKKK",

我有两个物体

目标1:

      {
         "a": "XXXXX",
         "b": "YYYYY",
         "c": "ZZZZZ"
      }
和目标2:

    {
        "a": "KKKKK",
        "b": "LLLLL",
        "c": "MMMMM"
    } 
两者在同一索引中具有相同的长度和相同的键,但值不同

结果应该是:

    {
        "XXXXX": "KKKKK",
        "YYYYY": "LLLLL",
        "ZZZZZ": "MMMMM"
    } 
我试过:

    for (let el in Object2){
      el = Object1[el]      
    }

但它不起作用。我做错了什么?

我们可以使用
Array.prototype.reduce
Object.keys
迭代第一个对象的键,并将其值用作
结果
对象的键:

const x = {
   "a": "XXXXX",
   "b": "YYYYY",
   "c": "ZZZZZ"
}

const y = {
  "a": "KKKKK",
  "b": "LLLLL",
  "c": "MMMMM"
} 

const z = Object.keys(x).reduce((acc, key) => {
  acc[x[key]] = y[key]
  return acc
},{})

console.log(z)
const obj1={
“a”:“XXXXX”,
“b”:“yyyy”,
“c”:“ZZZZZ”
}
常数obj2={
“a”:“KKKK”,
“b”:“LLL”,
“c”:“嗯”
} 
const result=Object.keys(obj1).reduce((acc、ele、idx)=>{
acc[obj1[ele]]=obj2[ele];
返回acc;
}, {});

控制台日志(结果)您也可以使用
对象。使用
对象分配
。值

var obj1={
“a”:“XXXXX”,
“b”:“yyyy”,
“c”:“ZZZZZ”
};
变量obj2={
“a”:“KKKK”,
“b”:“LLL”,
“c”:“嗯”
};
var obj3=Object.assign(…Object.values(obj1).map((k,i)=>({[k]:Object.values(obj2)[i]}));

控制台日志(obj3)
您可以使用
对象。值
+
减少
如下:

const a={
“a”:“XXXXX”,
“b”:“yyyy”,
“c”:“ZZZZZ”
}
常数b={
“a”:“KKKK”,
“b”:“LLL”,
“c”:“嗯”
}
var res=Object.values(a).reduce((newObject,value,index)=>{
newObject[value]=Object.values(b)[索引]
返回newObject;
}, {});

console.log(res)
我们可以使用
数组.prototype.reduce
对象。条目
迭代第一个对象的键,并将其值用作
结果
对象的键:

const obj1={
“a”:“XXXXX”,
“b”:“yyyy”,
“c”:“ZZZZZ”
}
常数obj2={
“a”:“KKKK”,
“b”:“LLL”,
“c”:“嗯”
} 
const result=Object.entries(obj1).reduce((acc,ele)=>{
acc[ele[1]]=obj2[ele[0]];
返回acc;
}, {});

控制台日志(结果)您可以循环键,并根据输入对象中的值设置输出对象的键和值

const o1={a:XXXXX,b:yyyy,c:ZZZZZ},
o2={a:“KKKKK”,b:“LLLLL”,c:“MMMMM”},
输出={};
for(输入o1)
输出[o1[键]]=o2[键]

console.log(输出)
键没有“索引”。您不能更改属性名称,但可以删除不需要的属性并添加确实需要的新属性。请注意,完全通用的解决方案是不可能的,因为对象不适用于依赖顺序的任何内容。例如,整数键在任何解决方案中都会遇到麻烦。最好使用数组或
映射