gpt4 book ai didi

javascript - 比较对象数组中的日期和时间

转载 作者:行者123 更新时间:2023-12-05 03:37:15 25 4
gpt4 key购买 nike

我正在尝试比较日期和时间来处理我的数据。我需要通过检查对象内的 updated_at 键来检查哪些是最新数据。

下面我给出了场景。

// below is my data to be manipulat
[{
"is_latest": "",
"created_at": "2021-09-21T21:24:05.000Z",
"updated_at": "2021-09-21T17:53:29.000Z"
}, {
"is_latest": "",
"created_at": "2021-09-22T21:24:05.000Z",
"updated_at": "2021-09-22T17:53:29.000Z"
}, {
"is_latest": "",
"created_at": "2021-09-29T21:24:05.000Z",
"updated_at": "2021-09-29T17:53:29.000Z" // this is the latest data
}]

我正在尝试这样,但是如何在这里使用 moment 来比较最新的。

for (var i = 0; i < data.length; i++) {
if (data[i].updated_at > data[i + 1].updated_at) {
data.is_latest = "true"
}
}

但我没有得到如下预期的结果。

[{
"is_latest": "false",
"created_at": "2021-09-21T21:24:05.000Z",
"updated_at": "2021-09-21T17:53:29.000Z"
}, {
"is_latest": "false",
"created_at": "2021-09-22T21:24:05.000Z",
"updated_at": "2021-09-22T17:53:29.000Z"
}, {
"is_latest": true,
"created_at": "2021-09-29T21:24:05.000Z",
"updated_at": "2021-09-29T17:53:29.000Z"
}]

我如何使用 map() 或 reduce() 来做到这一点?

最佳答案

您应该检查它的 map 并获取最大日期索引。然后将其值设置为 true;

var data = [
{
"is_latest": "",
"created_at": "2021-09-21T21:24:05.000Z",
"updated_at": "2021-09-21T17:53:29.000Z"
},
{
"is_latest": "",
"created_at": "2021-09-22T21:24:05.000Z",
"updated_at": "2021-09-22T17:53:29.000Z"
},
{
"is_latest": "",
"created_at": "2021-09-29T21:24:05.000Z",
"updated_at": "2021-09-29T17:53:29.000Z"
},
{
"is_latest": "",
"created_at": "2021-09-30T21:24:05.000Z",
"updated_at": "2021-09-30T17:53:29.000Z"
}
]
var maxDateIndex = 0;

var newData = data.map((item, index) => {
if(item.updated_at > data[maxDateIndex].updated_at)
maxDateIndex = index;
item.is_latest = "false";
return item;
});

newData[maxDateIndex].is_latest = "true";
console.log(newData);

关于javascript - 比较对象数组中的日期和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69378314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com