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