我有两个对象,假设
A = {
name:'abc',
age: 20,
areaOfInterest:[
{ inSports:'badminton', outSports:'football' },
{ inSports:'chess', outSports:'tennis' }]
}
B = {
age: 20,
name: 'abc',
areaOfInterest:[
{ inSports:'chess', outSports:'tennis' },
{ inSports:'badminton', outSports:'football' }]
}
如上面给出的示例,两个对象中的键序列不同。另外,在比较时我不想和
if(A.name == B.name)
if(A.areOfInterest.inSports == B.areOfInterest.inSports)
我想使用 for...In 或 for...Of 之类的循环来比较它们
这是我尝试过的,
A = {
name:'abc',
age: 20,
areaOfInterest:[
{ inSports:'badminton', outSports:'football' },
{ inSports:'chess', outSports:'tennis' }
]
}
B = {
age:20,
name: 'abc',
areaOfInterest:[
{ inSports:'chess', outSports:'tennis' },
{ inSports:'badminton', outSports:'football' }
]
}
function objCompare(obj1, obj2){
for (var [key, value] of Object.entries(obj1)) {
for (var [k, v] of Object.entries(obj2)){
if(k == key && v == value)
console.log(true)
}
}
}
console.log(objCompare(A,B));
我没有得到真正的结果。当它将 A.areOfInterest 与 B.areOfInterest 进行比较时,它给出了 undefined