添加属性后获取 属性 个最初为空的对象
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 } = {};
然后就可以了
我正在尝试制作数据转换脚本(使用 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 } = {};
然后就可以了