我如何在循环内操作对象

时间:2019-07-10 14:10:19

标签: javascript angular typescript

所以我试图在循环过程中操纵对象。 好吧,它不能正常工作。如何使它正常工作,以便const patientlastActivity数组中具有属性this.model

javascript:

for (const item of data) {
  const patient = this.model.find(
     x => x.linkedUserId === item.userId
  );
  if (patient) {
    patient.lastActivity = item.lastUploadDate;
  }
}

2 个答案:

答案 0 :(得分:0)

数组本身中的patient不会更新,为确保不更新单独的patient,可以使用for-loop,这样就可以肯定地更新{{1} }。

patient

答案 1 :(得分:0)

如果您可以将数据作为对象存储在this.model中,则可以轻松地对其进行更新。考虑以下模型数据。

{ 
    "abcd": { linkedUserId: "abcd", name: "user1" },
    "efgh": { linkedUserId: "efgh", name: "user2" },
}

现在您可以通过执行以下操作来更新模型。

for (const item of data) {
    this.model[item.userId].lastActivity = item.lastUploadDate;
}

要获取数组形式的模型,您可以执行const model = Object.values(this.model);