typescript - 是否有代表任何可迭代对象的打字稿类型
问题描述
我们有如下功能
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;
};
我想将 allany
和unknown
types 替换为更合适的类型。是否有任何类型代表任何可迭代类型,例如可以迭代的数组或对象?
解决方案
您可以如下定义一个IterableType
类,然后使用它代替any
and unknown
。
class IterableType<T> implements Iterable<T>, Record<K,T>
或者,按照您的原始代码继续使用any
and ,但向函数添加一些类型检查以检查它是否是有效类型(数组、记录等)。unknown
推荐阅读
- java - 如何解决android权限授予问题?
- mysql - 将项目添加到 MySQL 数据库的问题
- java - Java KeyStore jceks.key.serialFilter 或 jdk.serialFilter 异常
- php - WordPress。如何在 taxonomy.php 页面中获取自定义 post_type 计数
- laravel-5 - SQLSTATE [42S22]:找不到列:1054“字段列表”中的未知列“名称”
- pdf - 使用 SQR 生成保存的 PDF 文档
- mongodb - 具有相同集合的 Mongo db 子查询
- pandas - pandas.plotting scatter_matrix 关于主对角线图的混淆
- c++ - 如何从 C++ 生成 UML 类图
- xml - “XSD 无效”但如何?