我有大量的JavaScript代码,使用了大量关联数组,可以非常快速地访问对象.所以我try 移植这个代码,但失败了.显然,我还不太懂打字.

我一直在寻找这个问题的答案,并找到了创建界面等的建议,但这似乎有点偏离了正轨.

所以我try 了看似显而易见的方法:

     class Foo {
       allObjects: MyObject[];
        constructor() {
         this.allObjects = [];
       }
    }

其中MyObject-简化:

     class MyObject {
         _id: String;
         public getId(): String {
            return this._id;
         }
     }

我相信:

     myObjectInstance: MyObject;
     fooInstance.allObjects[myObjectInstance.getId()] = myObjectInstance;

那就好了...然而,我看到了可爱的TS2342 error (An index expression argument must be of type 'string', 'number', or 'any'),这对我来说毫无意义,因为getId()string.这似乎没那么难.非常感谢您的帮助.

推荐答案

MyObject._id的类型使用小写string

Typescript相关问答推荐

在TypScript中的同一数组中验证不同类型

Typescript如何从字符串中提取多个文本

React-Native运行方法通过监听另一个状态来更新一个状态

类型{...}的TypeScript参数不能赋给类型为never的参数''

如何修复正在处理类型但与函数一起使用时不处理的类型脚本类型

打印脚本丢失函数的泛型上下文

TS如何不立即将表达式转换为完全不可变?

如何在处理数组时缩小几个派生类实例之间的类型范围?

如何实现异构数组内函数的类型缩小

如何在已知基类的任何子类上使用`extends`?

为什么&;(交集)运算符会删除不相交的属性?

为什么我在这个重载函数中需要`as any`?

在React中定义props 的不同方式.FunctionalComponent

在Cypress中,是否可以在不标识错误的情况下对元素调用.Click()方法?

如何从对象或类动态生成类型

来自枚举的<;复选框和组件列表

TS不能自己推断函数返回类型

如何从联合类型推断函数参数?

如何让Record中的每个值都有独立的类型?

对于通过 Axios 获取的数据数组,属性map在类型never上不存在