@hollanditkzn

Как добавить в массив по двум выборкам for?

У меня есть массивы test
RowDataPacket {
  id: 1,
  name: 'Первый вопрос',
  id_theme: 1 }
RowDataPacket {
  id: 2,
  name: 'Второй вопрос?',
  id_theme: 1 }
RowDataPacket {
  id: 4,
  name: 'Третий вопрос',
  id_theme: 1 }

И список вопросов answearArr
[ [ RowDataPacket { id: 1, text: 'один-два дня', id_question: 1, answer: 1 },
    RowDataPacket { id: 2, text: 'более 5 дней', id_question: 1, answer: 0 },
    RowDataPacket { id: 3, text: '3-5 дней', id_question: 1, answer: 0 } ],
  [ RowDataPacket { id: 4, text: 'да', id_question: 2, answer: 1 },
    RowDataPacket { id: 5, text: 'нет', id_question: 2, answer: 0 },
    RowDataPacket {
      id: 6,
      text: 'не постоянно, Меняется постоянно',
      id_question: 2,
      answer: 0 } ],
  [ RowDataPacket { id: 7, text: 'да', id_question: 4, answer: 0 },
    RowDataPacket { id: 8, text: 'нет', id_question: 4, answer: 0 },
    RowDataPacket { id: 9, text: 'не помню', id_question: 4, answer: 1 } ] ]

for(let n=0; n<answearArr.length; n++){
            let number =  answearArr[n];
            for(let i=0; i<test.length; i++){
                test[i].answear = number;
            }
        }

Когда я так получаю то в test.answear всегда попадает 7,8,9 id в answearArr. А как сделать так чтобы все нормально приходило
  • Вопрос задан
  • 78 просмотров
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
Ответ прост:
test.map((question, i) => question.answers = answers[i]);

или:
for(let i = 0; i < test.length; i++) {
  test[i].answers = answers[i];
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы