我一直在尝试尝试键入递归序列化任意对象的输入法。我使用了映射类型,通用参数,递归类型(例如JSON类型),但没有任何运气):
这是我试图摆脱参数中的any
的方法:
export function serialize(data: any) {
if (data === null) {
return '';
}
if (typeof data === 'object') {
let serializedData = '';
for (const k of Object.keys(data).sort()) {
serializedData += k;
if (data[k] !== null) {
serializedData += serialize(data[k]);
}
}
return serializedData;
}
return data.toString();
}
答案 0 :(得分:1)
您需要一个自定义类型保护,以将值优化为visit_datetime | client | script | date_regen |
2019/10/06 03:32:50 | 3 | script3 | 2019-03-18 14:08:02 |
。
Record<string, unknown>