问题描述
作为回应,我得到了一个包含许多数据字段的大对象。我需要一个将遍历对象所有属性的函数,如果它是一个日期,请为该字段应用implementation 'com.heinrichreimersoftware:material-intro:2.0.0'
。此功能对于其他模块必须是通用的。
我注意到iml.parseDate(value)
返回typeof(date)
,所以我不知道该怎么做。
" string"
解决方法
您可以遍历对象或数组并使用regexp匹配日期。
例如
function convertDates(obj) {
Object.keys(obj).forEach(key => {
let val = obj[key];
if (Array.isArray(val)) {
val.forEach(convertDates);
}
else if (typeof val === 'object') {
return convertDates(val);
}
else if (/\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}\s+(?:PM|AM)\s+\+\d{4}/.test(val)) {
obj[key] = parseDate(val);
}
});
return obj;
}