繁体   English   中英

在TypeScript可索引接口中访问索引

[英]Accessing index in a TypeScript indexible interface

我已经使用索引类型在打字稿中创建了“字典”,并尝试将其用作for in语句中的数组。 我可以毫无问题地获取值,但无法弄清楚如何访问索引(请参阅for循环中的??)。

export interface Settings {
    dictionary : IDictionary[];
}

export interface IDictionary{
    [index: number]: string;
}

// To be used like this
for (var setting in Settings.dictionary)
{
  console.log(“Setting is: “ + setting + “ for id: “ + ??);
}

实际上,设置是ID。 您需要使用[id]进行索引的值

了解更多有关for / in的信息: https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in

这是您的代码的完整工作示例...基本上所有接口都是正确的,您只需要按照???指示在循环中调整该位即可。

关键是setting

要获取该值,请使用settings.dictionary[setting]

这是完整的代码:

export interface Settings {
    dictionary : IDictionary[];
}

export interface IDictionary{
    [index: number]: string;
}

function logSettings(settings: Settings) {
    for (var setting in settings.dictionary) {
        console.log('Setting is: ' + settings.dictionary[setting] + 
            ' for id: ' + setting);
    }
}

var settings: Settings = {
    dictionary: []
};

settings.dictionary[0] = 'A';
settings.dictionary[1] = 'B';

logSettings(settings);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM