繁体   English   中英

JavaScript - 更新对象数组中的多个对象值

[英]JavaScript - Updating multiple object values in array of objects

我尝试更改对象数组中多个对象的值。

// for..of loop with variable i to access second array to get values

    const AntraegeListe = new Array();
for (let i = 0; i < MESRForm.MitarbeiterListe.length; i++) {
  AntraegeListe.push(obj);
}
  for (var i = 0; i < MESRForm.MitarbeiterListe.length; i++) {
  for (const _antrag of AntraegeListe) {
    _antrag.Mitarbeiter = MESRForm.MitarbeiterListe[i].Mitarbeiter;
    _antrag.UserIDMitarbeiter =
      MESRForm.MitarbeiterListe[i].UserIDMitarbeiter;
    _antrag.Vorgesetzter = MESRForm.MitarbeiterListe[i].Vorgesetzter;

    console.log(_antrag);
    break;
  }
}

console.log(AntraegeListe);

console.log 中对象的值已更改,但 Array 未迭代更改。 分配给来自另一个数组的数组中的对象的值 (MitarbeiterListe[I].Mitarbeiter)

我的预期输出是创建 3 个具有另一个数组值的数组对象。

解决方案是将对象声明移动到 for 循环中,并在每次迭代时在数组中创建新对象。

  createMESR(MESRForm: any): void {
const AntraegeListe = new Array();
for (var i = 0; i < MESRForm.MitarbeiterListe.length; i++) {
  var obj = {....};

  obj.AntragID = '';
  obj.Timestamp = '';
  obj.Antragsteller = MESRForm.Antragsteller;
  obj.Mitarbeiter = MESRForm.MitarbeiterListe[i].Mitarbeiter;
  ... 

  AntraegeListe.push(obj);
}

console.log(AntraegeListe);}

map 函数不会更改原始数组,而是创建一个新数组。

您可以阅读此答案以获取更多信息:

https://stackoverflow.com/a/62341776/20801806

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM