当前位置: 首页 > 知识库问答 >
问题:

是否有一个typescript类型代表任何iterable对象

伍成仁
2023-03-14

我们有一个如下的函数

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未知的类型替换为更合适的类型。有没有代表任何可迭代类型的类型,如可以迭代的数组或对象?

共有1个答案

文英达
2023-03-14

您可以如下定义IterableType类,然后用它代替anyunknown

class IterableType<T> implements Iterable<T>, Record<K,T>

或者,根据原始代码继续使用anyunknown,但在函数中添加一些类型检查,以检查它是否为有效类型(数组、记录等)。

 类似资料:
  • 我是颤振开发方面的新手。我犯了一个错误 列表不是“Iterable”类型的子类型 到目前为止,我已经做到了。 模范班 缅因州班内 } 我试图从2天开始解决这个问题。 请帮忙,谢谢。 这里是JSON响应,您可以检查链接

  • 问题内容: 我正在尝试比较两个列表,如果第二个列表中有第一个列表中的任何值,则只打印一条消息。 在此示例中,我要对进行求值,因为两个列表中都包含5。这行不通,而且我不确定比较这两个列表的最简单方法。 问题答案: 您可以用很多方法解决。一个很容易理解的方法就是只使用一个循环。 一个更紧凑的方法是使用和: 更好的是,可以将其替换为: 您还可以使用集合:

  • 问题内容: 我在ui-router中使用Typescript。有没有人为此找到任何打字稿定义。我看了确定的打字,什么也看不见。这是我要查找的接口文件: 问题答案: 我们将此 d.ts 用于: 更新的链接,2015年5月 https://github.com/borisyankov/DefinitelyTyped/blob/master/angular-ui- router/angular-ui-

  • 问题内容: 我想知道是否有任何库可用于将SQL查询表示为Java中的对象。 在代码中,我有很多类型为java.lang.String的静态变量,它们是手写的SQL查询。我会寻找一个具有良好 流利 API的库,该API使我可以将查询表示为对象而不是字符串。 例: 问题答案: Jequel看起来很漂亮:http://www.jequel.de/ 它使用了流畅的界面,因此很容易阅读,就像自然SQL(来自

  • 问题内容: 假设我有一个类A,而B,C,D是从A派生的。 如果我想知道所引用的对象的类型是什么,可以声明: 这是因为我确定从A派生的类只有B,C和D。 但是,如果我只想检查两个引用是否指向同一种对象,该怎么办? 所以像这样: 但是当然语法是错误的,如何在没有1000 if-else的情况下进行检查? 问题答案: 你的意思是 即使和属于相同的特定类,也应返回true 。 但是,如果与进行比较,则此方