javascript - 如何比较 JavaScript 中的两个对象?
问题描述
我有两个具有相同值
的不同对象,例如:
obj = {name:"John"}
obj 2 = {name :"John"}
当我尝试比较两个对象时,而不是值它给我的错误
obj === obj 2 or obj == obj 2 //i tried both
我以为我会返回 true ,但我不知道为什么它返回 false 即使两个值相同;
当我这样做时
obj 3 = obj
obj 3 === obj
它使我返回 true 作为输出。
帮我。. 提前致谢。
解决方案
您可以使用JSON.stringify()
var obj = {name:"John"}
var obj2 = {name :"John"}
console.log(JSON.stringify(obj) == JSON.stringify(obj2));
console.log(JSON.stringify(obj) === JSON.stringify(obj2))
推荐阅读
- stanford-nlp - 斯坦福 NER 自定义模型精度测试
- css - 如何在 IE11 中使用 CSS 网格填充空间?
- go - Intellisense 不工作 golang 测试文件
- c - Is it safe to put control char in string?
- php - 将 Ajax 调用封装到一个类中,当我使用它上传文件时,它的工作很奇怪
- c# - 如何使用通用类型和 lambda 构造和编译此 C# 表达式
- javascript - Type Void is Not Assignable to Type Boolean (React/Typescript)
- ios - iOS Firebase -When Fanning -'InvalidPathValidation',原因:'(child:) 必须是非空字符串且不包含'。' '#' '$' '[' 或 ']''
- typescript - 为什么这个包装函数不拾取函数重载(打字稿)?
- c# - 为什么从 uint 中减去 int.MaxValue 与从 uint 中减去 int 类型变量不同?