function isEqual(objA,objB){
var keysA=Object.keys(objA);
var keysB=Object.keys(objB);
if(keysA.length!==keysB.length) return false;
for(var i=0;i<keysA.length;i++){
var key=keysA[i]
if(typeof objA[key] !== typeof objB[key]) return false;
if(typeof objA[key] !=='object'&&typeof objB[key] !=='object' &&objA[key]!==objB[key]) return false
if(Array.isArray(objA[key])&&Array.isArray(objB[key])){
if(objA[key].length!==objB[key].length) return false
for(var j=0;j<objA[key].length;j++){
if(typeof objA[key][j]!=='object'&&typeof objB[key][j]!=='object'&&objA[key][j]!==objB[key][j]) return false
if(typeof objA[key][j]==='object'&&typeof objB[key][j]==='object'){
return isEqual(objA[key][j],objB[key][j])
}
}
}
if(typeof objA[key]==='object'&&typeof objB[key]==='object'){
return isEqual(objA[key],objB[key])
}
}
return true
}
判断对象的值是否完全相等
最新推荐文章于 2023-06-30 17:42:07 发布