Итерация для l oop внутри объекта - PullRequest
0 голосов
/ 13 июля 2020

Я пытаюсь перебрать свой массив, используя для l oop, и он работает хорошо. Теперь, если я хочу, чтобы это повторялось внутри объекта, как я могу это сделать?

Ниже это мой код

for (let j = 0; j < sowing.seedSownDetails.length; j++) {
  this.myObj = {
    sowSeedInventoryId: sowing.seedSownDetails[j]?.inventoryId,
    quantity: sowing.seedSownDetails[j]?.quantity
  };
  console.log(this.myObj); //all the iterations work here
}

this.addComments = {
  sowingId: sowing.sowingId,
  cropId: sowing.cropId,
  seedDetails: [this.myObj], // i want all my iteration object inside this array

  seedSowingDate: sowing.sowingDate,
  comments: form.value.comments
};

Ожидаемый результат:

seedDetails: [
{object1},
{object2},....
]

Ответы [ 2 ]

1 голос
/ 13 июля 2020

Объявите this.myObj = []; вверху или внутри constructor и измените свой код, как показано ниже

for (let j = 0; j < sowing.seedSownDetails.length; j++) {
      this.myObj.push({
        sowSeedInventoryId: sowing.seedSownDetails[j]?.inventoryId,
        quantity: sowing.seedSownDetails[j]?.quantity
      });
    }

    this.addComments = {
      sowingId: sowing.sowingId,
      cropId: sowing.cropId,
      seedDetails: this.myObj, // You will get array of objects here as expected

      seedSowingDate: sowing.sowingDate,
      comments: form.value.comments,
    };

1 голос
/ 13 июля 2020

Вы можете определить геттер:

private get myObj() {
   for (let j = 0; j < this.sowing.seedSownDetails.length; j++) {
      const myObj = {
        sowSeedInventoryId: this.sowing.seedSownDetails[j]?.inventoryId,
        quantity: this.sowing.seedSownDetails[j]?.quantity
      };
    }

    return myObj;
}

и использовать его так же, как:

this.addComments = {
   sowingId: sowing.sowingId,
   cropId: sowing.cropId,
   seedDetails: this.myObj, // consume here

   seedSowingDate: sowing.sowingDate,
   comments: form.value.comments,
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...