在我的代码中,我有一对字符串索引的字典(这里建议)。由于这是一个即兴的类型,我想知道是否有任何建议,我将如何能够循环通过每个键(或值,所有我需要的键无论如何)。感谢任何帮助!

myDictionary: { [index: string]: any; } = {};

当前回答

要得到钥匙:

function GetDictionaryKeysAsArray(dict: {[key: string]: string;}): string[] {
  let result: string[] = [];
  Object.keys(dict).map((key) =>
    result.push(key),
  );
  return result;
}

其他回答

获取所有字典/对象值的最短方法:

Object.keys(dict).map(k => dict[k]);

或者这样:

Object.entries(dict).map([k,v] => /* ... */);

要遍历键/值,使用for in循环:

for (let key in myDictionary) {
    let value = myDictionary[key];
    // Use `key` and `value`
}

如果你只想通过对象值进行循环,请查看object .values

答案很好,但你应该使用const而不是let作为键,因为它永远不会更新。

for (const key in myDictionary) {
    let value = myDictionary[key];
    // Use `key` and `value`
}

要得到钥匙:

function GetDictionaryKeysAsArray(dict: {[key: string]: string;}): string[] {
  let result: string[] = [];
  Object.keys(dict).map((key) =>
    result.push(key),
  );
  return result;
}