判断两个对象是否一致

1判断是否为同一个对象

var objT2 = {name: "lili", age:2,rows:{id:1,country:'china'}}
var objT1 = {name:'lili',age:2,rows:{id:1,country:'china'}}
obj1==obj2 //false
var obj3 = obj1;
obj1==obj3 //true

2判断两个单独的对象属性和值是否一致

方法1:写个方法一点点遍历对象和本身拥有的属性(不包含继承而来的)是否都相等,运用 Object.getOwnPropertyNames(obj1);参见 https://www.cnblogs.com/cuew1987/p/4057726.html

方法2:很简单的方法,利用JSON.stringify(obj1)===JSON.stringify(obj2)就可以进行判断,

类似的可以利用var objcopy = JSON.parse(JSON.stringify(obj2));可以实现对象的深拷贝;

var objT2 = {name: "lili", age:2,rows:{id:1,country:'china'}} 
var objT1 = {name:'lili',age:2,rows:{id:1,country:'china'}}
obj1==obj2 //false
var obj3 = obj1;
obj1==obj3 //true
function objEq(obj1,obj2){
  return JSON.stringify(obj1)==JSON.stringify(obj2)
}
console.log(objEq(objT1,objT2))
注意:只要key和value值一致就可以,不论单引号双引号,或者空格的影响


猜你喜欢

转载自www.cnblogs.com/xhliang/p/9174245.html