添加属性后获取 属性 个最初为空的对象

Get property of initially empty object after adding properties

我正在尝试制作数据转换脚本(使用 Angular)并且需要访问最初为空的对象的属性(请参阅下面的简化代码)。但是,我收到一条错误消息,指出对象中不存在该键。我无法在初始化对象时添加键,因为下一个 运行 中的数据可能不同。我尝试了不同的访问密钥的方法,但我还没有弄清楚。我希望有人能帮助我!

TS7053:元素隐式具有 'any' 类型,因为类型“1”的表达式不能用于索引类型“{}”。 属性“1”在类型“{}”上不存在。

    data = {};
    const key = 1;
    for( let i = 0; i < 5; i++){
      Object.assign(data, {[i]: 'test'});
    }

    if(key in data){
      data[key] = 'test2';
      data.key = 'test2';
    }

如果您一开始不知道 属性 个名字,您可以使用 any。像这样初始化它:

data: any = {};

如果您知道 属性 类型(例如,所有属性都是字符串),那么您可以这样输入:

data: { [key: string]: string } = {};

然后就可以了