Пишу модуль тестов (вопрос и n вариантов ответов, но не суть...)
В общем из базы беру такой массив объектов:
arr = [
{answer: 'вариант ответа 1 на вопрос 99', isRight: false, questionId: 99, questionText: 'Выберите правильный вариант', testId: 1030},
{answer: 'вариант ответа 2 на вопрос 99', isRight: true, questionId: 99, questionText: 'Выберите правильный вариант', testId: 1030},
{answer: 'вариант ответа 3 на вопрос 99', isRight: false, questionId: 99, questionText: 'Выберите правильный вариант', testId: 1030},
{answer: 'вариант ответа 4 на вопрос 99', isRight: false, questionId: 99, questionText: 'Выберите правильный вариант', testId: 1030},
{answer: 'вариант ответа 1 на вопрос 100', isRight: false, questionId: 100, questionText: 'А тут нужен правильный ответ', testId: 1030},
{answer: 'вариант ответа 2 на вопрос 100', isRight: false, questionId: 100, questionText: 'А тут нужен правильный ответ', testId: 1030},
{answer: 'вариант ответа 3 на вопрос 100', isRight: false, questionId: 100, questionText: 'А тут нужен правильный ответ', testId: 1030},
{answer: 'вариант ответа 4 на вопрос 100', isRight: true, questionId: 100, questionText: 'А тут нужен правильный ответ', testId: 1030},
]
Нужна функция, которая вернет этот же массив в другом формате:
test = {
testId: 1030,
questions: [
{
questionId: 99,
questionText: 'Выберите правильный вариант',
answers: [
{answer: 'вариант ответа 1 на вопрос 99', isRight: false},
{answer: 'вариант ответа 2 на вопрос 99', isRight: true},
{answer: 'вариант ответа 3 на вопрос 99', isRight: false},
{answer: 'вариант ответа 4 на вопрос 99', isRight: false},
],
},
{
questionId: 100,
questionText: 'А тут нужен правильный ответ',
answers: [
{answer: 'вариант ответа 1 на вопрос 100', isRight: false},
{answer: 'вариант ответа 2 на вопрос 100', isRight: false},
{answer: 'вариант ответа 3 на вопрос 100', isRight: false},
{answer: 'вариант ответа 4 на вопрос 100', isRight: true},
],
},
]
}