使用对象项的Javascript

使用对象项的Javascript,javascript,arrays,object,Javascript,Arrays,Object,我有两组对象,例如: var objA = {}; objA.data1a = 100; objA.data2a = 70; objA.data3a = 16; objA.data4a = 37; objA.data5a = 88; //my ObjA will contain the following //{"data1a":100, "data2a":70, ......... "data5a":88} var objB = {}

我有两组对象,例如:

var objA = {};
    objA.data1a = 100;
    objA.data2a = 70;
    objA.data3a = 16;
    objA.data4a = 37;
    objA.data5a = 88;
  //my ObjA will contain the following
  //{"data1a":100, "data2a":70, ......... "data5a":88}

var objB = {}
    objA.data1b = 19;
    objA.data2b = 5;
    objA.data3b = 7;
    objA.data4b = 6;
    objA.data5b = 2;

var getDifferences = {};

//I want to get the differences using a loop but I'm not sure how am I able to do so.
//I am able to do this currently
// getDifferences.data1 = objA.data1a - objB.data1b;
// getDifferences.data2 = objA.data2a - objB.data2b;
// getDifferences.data3 = objA.data3a - objB.data3b;

我可以知道是否有一个循环通过一个对象,这样对于每个循环,我可以减去差异并将其存储到另一个对象中吗?

对关键点进行迭代。我假设
objB
应该包含其他值

var objA={data1a:100,data2a:70,data3a:16,data4a:37,data5a:88},
objB={data1b:19,data2b:5,data3b:7,data4b:6,data5b:2},
getDifferences={};
Object.keys(objA).forEach(函数(k){
var kk=k.子串(0,k.长度-1);
getDifferences[kk]=objA[kk+'a']-objB[kk+'b'];
});

document.write(“”+JSON.stringify(getDifferences,0,4)+’)是的,您实际上可以使用Object.keys()函数来实现这一点。 下面是我的示例:

var objA={};
objA.data1a=100;
objA.data2a=70;
objA.data3a=16;
objA.data4a=37;
objA.data5a=88;
//我的ObjA将包含以下内容
//{“data1a”:100,“data2a”:70,……“data5a”:88}
var objB={}
objB.data1b=19;
objB.data2b=5;
objB.data3b=7;
objB.data4b=6;
objB.data5b=2;
var getDifferences={};
/// =================
var keysA=Object.keys(objA);
var keysB=Object.keys(objB);
if(keysA.length==keysB.length){
对于(i=0;i你可以考虑一个更好的迭代结构,比如一个数组,而不是一个对象。如果…怎么办。。我的名字不一样?示例:var storeA={};{“1000”:532,“2020”:123}和var storeB={};{“1000”:200,“2020”:12}然后你可以直接映射它。我想如果我只列出我拥有的确切数据会更容易。我有这2组数据,我试图让它动态存储差异。在storeX obj和storeY obj中。{ '4100': 3060431, '4130': 4413045, '16386': 4191921, '17476': 4161761 } { '4100': 3332286, '4130': 7640173, '16386': 5773080, '17476': 4692493 }
var objA = {};
    objA.data1a = 100;
    objA.data2a = 70;
    objA.data3a = 16;
    objA.data4a = 37;
    objA.data5a = 88;
  //my ObjA will contain the following
  //{"data1a":100, "data2a":70, ......... "data5a":88}

var objB = {}
    objB.data1b = 19;
    objB.data2b = 5;
    objB.data3b = 7;
    objB.data4b = 6;
    objB.data5b = 2;

var getDifferences = {};

/// =================

var keysA = Object.keys(objA);
var keysB = Object.keys(objB);

if (keysA.length == keysB.length) {
    for (i = 0; i < keysA.length; i++) {
        getDifferences['data'+i] = objA[keysA[i]] - objB[keysB[i]];
    }
}

console.log(getDifferences);