在多维JavaScript对象中查找最大/最小日期,可以使用以下方法:
可以使用递归函数遍历多维对象,并在遍历过程中找到最大/最小日期。
function findMaxMinDate(obj, isMax = true) {
let maxMinDate = isMax ? -Infinity : Infinity;
function traverse(obj) {
for (const key in obj) {
if (typeof obj[key] === 'object') {
traverse(obj[key]);
} else if (key === 'date' && typeof obj[key] === 'string') {
const date = new Date(obj[key]);
if (isMax ? date > maxMinDate : date < maxMinDate) {
maxMinDate = date;
}
}
}
}
traverse(obj);
return maxMinDate;
}
Array.prototype.reduce()
方法:可以将对象中的所有日期提取到一个数组中,并使用 Array.prototype.reduce()
方法找到最大/最小日期。
function findMaxMinDate(obj, isMax = true) {
const dates = [];
function traverse(obj) {
for (const key in obj) {
if (typeof obj[key] === 'object') {
traverse(obj[key]);
} else if (key === 'date' && typeof obj[key] === 'string') {
dates.push(new Date(obj[key]));
}
}
}
traverse(obj);
return dates.reduce((maxMinDate, date) => {
if (isMax ? date > maxMinDate : date < maxMinDate) {
return date;
}
return maxMinDate;
}, isMax ? -Infinity : Infinity);
}
这两个方法都可以在多维JavaScript对象中查找最大/最小日期。使用哪个方法取决于你的具体需求和对象结构。
领取专属 10元无门槛券
手把手带您无忧上云