【发布时间】:2019-09-27 15:24:44
【问题描述】:
如何比较具有不同数据类型的两个对象
var a = {
sort: 7,
start: "0"}
var b = {
sort: "7",
start: "0"}
我希望两者是平等的。但是当我使用这个比较时它给出了错误:JSON.stringify(a) === JSON.stringify(b)
【问题讨论】:
-
它是
false,因为a.sort是int而b.sort是string,它们不一样 -
我更喜欢更改对象,以便它们在比较它们之前都包含相同属性的字符串或数字,而不是认为它们是相等的。如果您真的想这样做,您必须遍历所有条目并比较
.toString()值(或使用 == over === 使用自动转换),但是一旦您的对象变得更多,就会出现错误等待发生复杂,您必须考虑所有特殊情况,例如NaN和null以及所有其他不能很好地字符串化的值。
标签: javascript json object