我定义了一个地图:
const specificTypes = new Map<string, string>();
specificTypes.set("test", "test:corrected");
specificTypes.set("name", "name:corrected");
然后我有一个看起来像这样的对象
const gathered = {
"name": ["123", "456"],
"song": ["789", "101"],
}
但是尝试时:
Object.keys(gathered).forEach(existingType => {
if (specificTypes.has(existingType)) {
gathered[specificTypes.get(existingType)] = gathered[existingType];
delete gathered[existingType];
}
});
我不断收到错误-TS2538 - undefined cannot be used as an index type
。具体在gathered[specificTypes.get(existingType)]
。
请问有人可以解释为什么-我该如何解决?
任何帮助表示赞赏。
谢谢。
更新:
我暂时使用!
解决了这个问题:
gathered[specificTypes.get(existingType)!] = gathered[existingType];
但是,不确定这样做是否正确。