我正在比较objA和objB中的两个日期,它们不相等,如以下控制台输出所示。
不明白为什么..
objA[keysA[i]]
Sun Sep 25 2016 00:00:00 GMT+0900 (KST)
objB[keysA[i]]
Sun Sep 25 2016 00:00:00 GMT+0900 (KST)
typeof objA[keysA[i]]
"object"
typeof objB[keysA[i]]
"object"
objA[keysA[i]] !== objB[keysA[i]]
true
最佳答案
在JavaScript中,您通过引用比较对象。
let a = {};
let b = {};
let c = a;
a == b //false
a == c //true
比较对象的一种简单方法是将它们转换为字符串并比较该字符串。您可以像这样使用
Date.prototype.toString
比较Date
对象objA[keysA[i]].toString() !== objB[keysA[i]]].toString() //false