我有这个:
values = [];
在我这里有多个服务,它们在不同的时间被调用。 我试图在数组中添加对象的值,但是可以更改值,并且我不想总是在数组中添加它们,我想分配对象值是否已更改。
this.values = this.values.map(a=>) Object.assign(this.values, [{ title: 'E-mail', indicator: this.emailData.length }]);
this.values = this.values.map(a=>) Object.assign(this.values, [{ title: 'Assgnment', indicator: this.assignments.length }]);
,依此类推。但是它总是添加一个对象,仅此而已。 有建议吗?
编辑:
如果我添加此内容:
this.values.push(
{ title: 'E-mail', indicator: this.emailData.length }
)
如果值已更改,我将有多个标题为“ E-mail”的对象,因为即使仅更改了指示器并且我不希望这样做,它也会始终推送新对象数组
答案 0 :(得分:1)
您需要为此使用push
,
loadValues(title: string, indicator: string) {
let existingData = this.values.filter(x => x.title == title && x.indicator == indicator)
if (existingData == null) {
this.values.push(
{ title: title, indicator: indicator }
)
} else {
let data = this.values.filter(x => x.title == title);
for(var i=0; i< this.values.length;i++){
if(this.values[i].title == data.title) {
this.values[i].indicator = indicator
}
}
}
}