Объединить объект массива и массив

#angular #typescript

#angular #typescript

Вопрос:

Мне нужно объединить два объекта массива, чтобы они стали похожими на этот пример.

 "feedBackList" : [
        {
            "questionNo" : 1,
            "scoring" : "5"
        },
        {
            "questionNo" : 2,
            "scoring" : "5"
        },
        {
            "questionNo" : 3,
            "scoring" : "5"
        },
        {
            "questionNo" : 4,
            "scoring" : "4"
        },
        {
            "questionNo" : 5,
            "scoring" : "Under 25"
        }
    ]
  

Но это работает не так, как ожидалось. Это становится похоже на это изображение. что мне делать?

введите описание изображения здесь

это мой код в качестве ссылки

Компонент

 quesNo = [
    {questionNo: 1},
    {questionNo: 2},
    {questionNo: 3},
    {questionNo: 4},
    {questionNo: 5}
  ];

newFeedback(): FormGroup {
    return this.fb.group({
      questionNo: this.quesNo,
      scoring: ['']
    })
 }

onSubmit() {
  console.log(this.feedbackForm.value);
}
  

редактировать демо
https://stackblitz.com/edit/angular-forms-formarray-example-zb634f

Ответ №1:

Редактировать 1: То, что вы пробовали, это не то, как вы должны работать с FormArray в angular, поскольку вопрос может возрасти. вы добавляли жестко заданный индекс к каждой группе форм

Вот stackblitz: https://stackblitz.com/edit/angular-forms-formarray-example-wuaa7n?file=src/app/app.component.ts

введите описание изображения здесь

Комментарии:

1. Спасибо за ответ .., но он получил эту ошибку Uncaught (in promise): TypeError: this.validator is not a function

2. возможно ли, чтобы вы вставили html и ts в stackblitz и предоставили мне ссылку

3. Я добавил ссылку stackblitz в свой вопрос

4. это возможно сделать?

5. Да, обновление сообщения, пожалуйста, подождите