Javascript 按键和交换值进行双对象搜索

Javascript 按键和交换值进行双对象搜索,javascript,arrays,dictionary,ecmascript-5,Javascript,Arrays,Dictionary,Ecmascript 5,我想从objectA值替换objectB键。 在交换之前,objectA和ObjectB键应该在每个对象中匹配。 然后在objectC中返回数据 我看到了这个线程,但我只想在交换键和值之前匹配键。 像这样 var objA ={100:'new',200:'in progress',300:'done',500:'exception',225:'critical'}; var objB ={100:12,200:5,300:50}; objectA和objectB具有相同的密钥 obj

我想从objectA值替换objectB键。 在交换之前,objectA和ObjectB键应该在每个对象中匹配。 然后在objectC中返回数据

我看到了这个线程,但我只想在交换键和值之前匹配键。

像这样

 var objA ={100:'new',200:'in progress',300:'done',500:'exception',225:'critical'};

 var objB ={100:12,200:5,300:50};
objectA和objectB具有相同的密钥

objectA键是statusID,其值类似于为用户显示statusID名称

objectB键是statusID,值是statusID count。因此,此计数值是示例

首先,我希望objectA和objectB密钥匹配。这次,100200300是相同的密钥

如果它们匹配,则匹配objectA键的值替换objectB键。 如键100匹配,objectB键100应变为“新建”。最后,objectC结果应该是这样的

var objC ={'new':12,'in progress':5,'done':50};
欢迎提出任何建议。
感谢阅读。

您应该将此视为创建一个新对象,该对象将来自其他两个对象的数据组合在一起。您可以通过在
objB
中的键数组上调用
reduce()
来执行所需操作:

objC = objB.keys().reduce(result, key => {
    result[objA[key]] = objC[key];
    return result;
});

见鬼,我不知道你在干什么-

const heck=(a={},b={})=>
对象
.entries(a)//使用来自任一对象的所有条目。。。
.减少//减少每个。。。
((r[k,v])=>//结果、r和键/值对
b[k]==未定义//如果键在其他对象中不存在
?r//继续当前结果
:{…r[v]:b[k]}//否则使用新的键/值扩展结果
,{}//初始结果
)
康斯特奥布贾=
{100:'new',200:'progress',300:'done',500:'exception',225:'critical'}
常数objB=
{100:12, 200:5, 300:50}
控制台日志(heck(objA,objB))
//{“新”:12
//,“进行中”:5
//“完成”:50

//}
天真地分配
结果[objA[key]]
其中
objA[key]
可能是
未定义的
@user633183是的,我是根据OPs示例字典中的一些假设编写的。更健壮的代码将检查
未定义的值。