繁体   English   中英

两个“相等”的javascript对象不相等

[英]Two 'equal' javascript objects not equal

在Angular应用程序中,我正在比较两个对象(用户进行更改后,原始对象与当前对象)。 问题是,两个对象不相等-甚至在进行任何更改之前。 在浏览器中调试时,两个对象看起来完全相同。 下面我尝试了angular.equals()但是comparison为false:

ChangeTracker.protype.hasChanged = function (current) { 
  var comparison = angular.equals(this.original, current);    
  return !comparison;  
};  

我还尝试了_.isEqual_.isEqual以及常规( == )和严格( === )等于运算符。

我以为我可能正在按引用进行比较,但是即使将对象包装在JSON.parse(JSON.stringify())该比较仍然返回false。

为什么两个看似相等的对象又不相等?

看起来像是您的代码中的错字,您是要返回比较值吗?

ChangeTracker.protype.hasChanged = function (current) { 
  var comparison = angular.equals(this.original, current);    
  return !compare;  
}; 

看起来应该是:

return !comparison

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM