[英]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.