【问题标题】:Get property of initially empty object after adding properties添加属性后获取初始空对象的属性
【发布时间】:2021-12-17 20:16:18
【问题描述】:

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

TS7053:元素隐式具有“任何”类型,因为类型“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 = {};这能解决您的问题吗?

标签: javascript angular object key key-value


【解决方案1】:

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

data: any = {};

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

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

然后就可以了。

【讨论】:

    猜你喜欢
    • 2013-02-24
    • 2019-01-27
    • 2013-10-28
    • 1970-01-01
    • 1970-01-01
    • 2016-01-12
    • 2018-05-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多