I have a large amount of JavaScript code that uses a number of associative arrays that allow very fast access to objects. So I tried to port this code and failed. Clearly, I don't understand TypeScript well enough yet.
I have hunted for an answer to this question and found suggestions to create an interface etc., but this seems a bit off the track.
So I tried the seemingly obvious:
class Foo { allObjects: MyObject[]; constructor() { this.allObjects = []; } } where MyObject - simplified:
class MyObject { _id: String; public getId(): String { return this._id; } } And I would believe that:
myObjectInstance: MyObject; fooInstance.allObjects[myObjectInstance.getId()] = myObjectInstance; That would be fine... Yet I see the lovely TS2342 error (An index expression argument must be of type 'string', 'number', or 'any') which makes no sense to me since getId() is a string. It doesn't seem like this should be that hard. Your help would be greatly appreciated.
Use lowercase string for the type of MyObject._id
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With