为了账号安全,请及时绑定邮箱和手机立即绑定

2 个对象中的 2 个值相等但在比较时仍计算为不相等

2 个对象中的 2 个值相等但在比较时仍计算为不相等

倚天杖 2022-11-11 16:42:28
我有2个对象数组对象的结构完全一样,有一个键,一个时间戳,还有一些其他的东西arr1 = [{key: 2, timestamp:2020-07-07T02:00:00.000Z},other stuff:....}...]arr2 = [{key: 7, timestamp:2020-07-07T02:00:00.000Z},other stuff:....}...]arr1 按小时跟踪事物,因此每个时间戳是每小时一次 arr2 每 15 分钟跟踪事物,因此其中的时间戳类似于2020-07-07T02:45:00.000Z我试图做的是找到两个数组中的时间戳匹配我循环通过1个数组然后传入时间戳以在另一个数组中搜索它问题是它没有找到匹配的值,即使我知道它在那里arr1.map(function (e) {        console.log(e.timestamp, arr2[3].timestamp, e.timestamp == arr2[3].timestamp )      }); 所以上面的代码遍历 arr1 中的所有时间戳值,然后控制台记录它们,加上我知道 arr1 中来自 arr2 的特定值,然后我在控制台记录一个比较控制台日志打印的内容如下2020-07-07T02:00:00.000Z 2020-07-07T02:00:00.000Z false那false应该true不是吧???注意:我试过了==,===但都产生了false
查看完整描述

1 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

你不能像那样比较时间戳,因为时间戳是对象。



new Date('2020-07-07T02:00:00.000Z') == new Date('2020-07-07T02:00:00.000Z')


// false

让我们试试 (e.timestamp - arr2[3].timestamp) == 0)


arr1.map(function (e) {

    console.log(e.timestamp, arr2[3].timestamp, (e.timestamp - arr2[3].timestamp) == 0);

}); 


查看完整回答
反对 回复 2022-11-11
  • 1 回答
  • 0 关注
  • 56 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信