判断数组中的日期,获取最大的日期索引;
如果有相同最大的日期,则返回最后一个日期索引。
以下是使用JavaScript编写的代码,用于判断给定数组中 graduateTime
字段中的最大日期,并返回最大日期对应的索引。如果最大日期存在相等的情况,则返回最后一个相等日期的索引。
let list = [
{
graduateTime: "1974-01"
},
{
graduateTime: "1975-01"
},
{
graduateTime: "1978-10"
}
];
function findMaxIndex(list) {
let maxDate = new Date(list[0].graduateTime);
let maxIndex = 0;
for (let i = 1; i < list.length; i++) {
let currentDate = new Date(list[i].graduateTime);
if (currentDate > maxDate) {
maxDate = currentDate;
maxIndex = i;
} else if (currentDate === maxDate) {
maxIndex = i;
}
}
return maxIndex;
}
console.log(findMaxIndex(list));
// 鹏仔前端 pjxi.com
在上述代码中,我们首先使用 new Date()
方法将数组中的第一个日期转换为 Date 对象,并将其赋值给 maxDate
变量。然后,我们使用一个循环遍历数组中的剩余日期。对于每个日期,我们将其转换为 Date 对象,并与 maxDate
进行比较。
如果当前日期大于 maxDate
,我们更新 maxDate
和 maxIndex
的值为当前日期和对应的索引。
如果当前日期等于 maxDate
,我们也更新 maxIndex
的值为当前索引。
最后,我们返回 maxIndex
,即最大日期对应的索引。
请注意,此代码假定 graduateTime
字段中的日期格式为 "YYYY-MM",并且使用了 Date 对象的比较方法来比较日期的大小。如果日期格式不同或需要其他方式比较日期大小,你可能需要相应地调整代码。