我们有如下功能
export const objectUndefinedToNull = (obj) => {
const apply = (o) => {
Object.keys(o).forEach((key) => {
const value = o[key];
if (value === undefined) {
o[key] = null;
}
if (value instanceof Array || value instanceof Object) {
apply(value || {});
}
});
};
apply(obj);
return obj;
};
我想将所有 any
和 unknown
类型替换为更合适的类型。
是否有任何类型代表任何可迭代类型,例如可以迭代的数组或对象?
答案 0 :(得分:2)
您可以如下定义一个 IterableType
类,然后用它代替 any
和 unknown
。
class IterableType<T> implements Iterable<T>, Record<K,T>
或者,按照您的原始代码继续使用 any
和 unknown
,但向函数添加一些类型检查以检查它是否是有效类型(数组、记录等)。>