我正在比较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

07-24 16:38