【发布时间】:2020-04-17 16:19:32
【问题描述】:
如何在 Typescript 中为对象数组中的对象添加值?
假设我有一个这样的对象数组:
[{name:'John',age:20}, {name:'Sam',age:26}, {name:'Will',age:2}]
我想要的是在数组的每个对象中动态生成的属性,如下所示:
[{name:'John',age:20, value:'John 20'}, {name:'Sam',age:26, value:'Sam 26' }, {name:'Will',age:2, value:'Will 2'}]
这是我尝试过的:我创建了一个用于类型检查的模型,并在其中创建了一个返回值的方法。
export class Names {
name: string;
age: number;
constructor() {
}
getConcat() {
return this.name + ' ' + this.age;
}
}
虽然当我从Names[] 类型的服务器获取数据时,我无法获取动态生成的值。我正在尝试获得这样的值:
this.somevariable:Names[]=[]; //declarartion
this.somevariable[0].getConcat() // inside a method after api call
我该怎么做?任何帮助将非常感激。谢谢!
【问题讨论】:
-
除非你
new Names()并赋值,否则你没有具有getConcat函数的对象。 -
显示您如何填充
this.somevariable。如果您从服务器获取数据,它实际上不是Names对象。 -
@HereticMonkey 我将某个变量分配给来自服务的响应,该响应又是 Names[] 类型
-
它被声明为
Names[],但它实际上是一个仅具有相同属性而非方法的JavaScript对象。
标签: javascript angular typescript