Как получить доступ к значению объекта в TypeScript, используя строковый индекс - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть объект, и я хочу получить доступ к значению объекта с помощью строкового индекса, но когда я пытаюсь сделать это в TypeScript, я получаю ошибки.

// Declared Globally
const Orientation = {
    value: () => 0,
    'next_value': () => someFunction.anotherFunction.sqrt(),
};

// _textValue type declared 
_textValue : string;

// Declared inside constructor
this._textValue = 'next_value';

// value used inside a function
_getValue(){
    const newValue = Orientation[this._textValue]();
 }

И где я использую Orientation[this._textValue]();, я получаю сообщение об ошибке:

Элемент неявно имеет тип 'any', потому что выражение типа 'any' нельзя использовать для индексации типа {{value: () = > номер; 'next_value': () => число; } '. ts (7053)

Есть идеи, как решить эту проблему?

1 Ответ

1 голос
/ 29 апреля 2020

main.ts

export {}

interface IDictionary {
    [index: string]: string;
}
var params = {} as IDictionary;

//array with string index 
params = {a: "Bhavesh",b: "Bond", c: "Urmil"};

//get array data using string index
var getData = params['b']; // output: Bond
var getData = params['B']; // output: undefined

console.log(getData);

Я думаю, что ваша проблема будет решена в приведенном выше примере кода. спасибо ..!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...