Javascript 如何交换多个对象的值?

Javascript 如何交换多个对象的值?,javascript,Javascript,例如,我有两个具有相同关键点的对象: var a = { k1: "aa", k2: "ab", k3: "ac", k4: "ad", k5: "ae" } var b = { k1: "ba", k2: "bb", k3: "bc", k4: "bd", k5: "be" } 例如,我需要在这些对象之间交换值k2、k3、k4。所以,我想得到这个结果: a = {

例如,我有两个具有相同关键点的对象:

var a = {
    k1: "aa", 
    k2: "ab", 
    k3: "ac", 
    k4: "ad",
    k5: "ae"        
}
var b = {
    k1: "ba", 
    k2: "bb", 
    k3: "bc", 
    k4: "bd",
    k5: "be"        
}
例如,我需要在这些对象之间交换值k2、k3、k4。所以,我想得到这个结果:

a = {
    k1: "aa", 
    k2: "bb", 
    k3: "bc", 
    k4: "bd",
    k5: "ae"        
}
b = {
    k1: "ba", 
    k2: "ab", 
    k3: "ac", 
    k4: "ad",
    k5: "be"        
}
有什么方法可以快速做到这一点吗?我相信它可以在不添加中间对象的情况下执行。

使用object.key和Array.prototype.indexOf函数的简单解决方案:

var a={k1:aa,k2:ab,k3:ac,k4:ad,k5:ae}, b={k1:ba,k2:bb,k3:bc,k4:bd,k5:be}, swapKeys=['k2','k3','k4']; swapKeys.foreachk函数{ 如果a中有k和b中有k{ var值=[a[k],b[k]]; a[k]=值[1]; b[k]=值[0]; } }; console.loga; console.logb 变量a={ k1:aa, k2:ab, k3:ac, k4:ad, k5:ae } 变量b={ k1:ba, k2:bb, k3:bc, k4:bd, k5:be } 函数交换 { 对于变量i=0;i互换[1,3,4];有两种方法。如何定义要交换的值?你试过什么?你有没有研究过?很好的解决方案,但是这将始终循环a中的所有元素。由于对象的键具有规律性,因此只需使用键值循环数组。然而,这个解决方案会更加通用。@Mouser,的确,很好的一点,只是错过了这一点。固定的非常感谢。