Angular: 查找最大日期
Angular: Find max date
我想查找并显示数据集中的最大日期。一些示例数据为 21/05/2021、01/04/2021、15/05/2021,结果应为 21/05/21。我正在尝试编写一个函数,但它不起作用。当我用 console.log
显示结果时,它被设置为 0。我不知道 this.maxDueDate
必须等于什么。
app.ts:
checkDueDate() {
this.maxDueDate = 0
if (this.depositTasks.length !== undefined) {
for (let i = 0; this.depositTasks.length > i; i++) {
if (this.maxDueDate < this.depositTasks[i].dueDate) {
this.maxDueDate = this.depositTasks[i].dueDate
}
}
}
}
您可以将日期转换为毫秒
新日期(d1).getTime()
现在您可以比较或从数组中找到最大值。 Math.max() 是一种方式,但还有很多方式。
let arr=['03/21/2021', '01/04/2021', '05/15/2021']
let data = arr.map(date=> new Date(date).getTime())
console.log(data)
let max = Math.max(...data)
console.log(new Date(max))
您可以通过排序直接获得最大日期。
this.maxDueDate = this.depositTasks.sort((a,b) =>
new Date(b.dueDate).getTime() - new Date(a.dueDate).getTime())[0].dueDate;
排序函数 returns 一个包含 depositTask 对象的数组,根据它们的日期降序排列。因此,数组的第一个元素将是具有最大日期值的元素。
我想查找并显示数据集中的最大日期。一些示例数据为 21/05/2021、01/04/2021、15/05/2021,结果应为 21/05/21。我正在尝试编写一个函数,但它不起作用。当我用 console.log
显示结果时,它被设置为 0。我不知道 this.maxDueDate
必须等于什么。
app.ts:
checkDueDate() {
this.maxDueDate = 0
if (this.depositTasks.length !== undefined) {
for (let i = 0; this.depositTasks.length > i; i++) {
if (this.maxDueDate < this.depositTasks[i].dueDate) {
this.maxDueDate = this.depositTasks[i].dueDate
}
}
}
}
您可以将日期转换为毫秒 新日期(d1).getTime() 现在您可以比较或从数组中找到最大值。 Math.max() 是一种方式,但还有很多方式。
let arr=['03/21/2021', '01/04/2021', '05/15/2021']
let data = arr.map(date=> new Date(date).getTime())
console.log(data)
let max = Math.max(...data)
console.log(new Date(max))
您可以通过排序直接获得最大日期。
this.maxDueDate = this.depositTasks.sort((a,b) =>
new Date(b.dueDate).getTime() - new Date(a.dueDate).getTime())[0].dueDate;
排序函数 returns 一个包含 depositTask 对象的数组,根据它们的日期降序排列。因此,数组的第一个元素将是具有最大日期值的元素。