Организовывать данные о договоренности в языке сценариев JavaScript

Я работаю в базе данных, которая содержит информацию об извещениях, которые выражены в учеников воспитательного Учреждения.

Следующий за выполнением консультации sql чтобы получать деталь извещения с id число 85 я получаю эту информацию:

let data = [
  {
    idnotificaciones: 85,
    not_fecha: '2019-11-03',
    alu_representante_nombres: 'José', // nombre del representante
    alu_apellidos_nombres: 'Marco',
    not_curso: 'INICIAL 1 B',
    not_tutor: 'Maria',
    idnot_asunto: 77,
    not_asunto: 'Justificar faltas'

  },
  {
    idnotificaciones: 85,
    not_fecha: '2019-11-03',
    alu_representante_nombres: 'José', // nombre del representante
    alu_apellidos_nombres: 'Marco',
    not_curso: 'INICIAL 1 B',
    not_tutor: 'Maria',
    idnot_asunto: 78,
    not_asunto: 'Solucionar asuntos disciplinarios'
  },
  {
    idnotificaciones: 85,
    not_fecha: '2019-11-03',
    alu_representante_nombres: 'José', // nombre del representante
    alu_apellidos_nombres: 'Marco',
    not_curso: 'INICIAL 1 B',
    not_tutor: 'Maria',
    idnot_asunto: 79,
    not_asunto: 'Otros'
  }
]

Поскольку возможно наблюдать информацию, он содержит элементы, которые повторяются, за исключением полей idnot_asunto и not_asunto.

Как следствие, мне интересно организовывать информацию для того, чтобы у него была следующая структура:

let data = {
  idnotificaciones: '85',
  not_fecha: '2019-11-03',
  alu_representante_nombres: 'José',
  alu_apellidos_nombres: 'Marco',
  not_curso: 'INICIAL 1 B',
  asunto: [
    {
      idasunto: 1,
      not_asunto: 'Justificar faltas'
    },
    {
      idasunto: 2,
      not_asunto: 'Solucionar asuntos disciplinarios',
    },
    {
      idasunto: 3,
      not_asunto: 'Otros',
    }
  ]
}

Далее я присоединяю код, использованный, чтобы получать цель, думаю, что это не форма больше работоспособная делания этого, но то, что я в функционировавший.

Я приезжаю в это сообщество, чтобы получать информацию, которая позволяла бы получать идеи и концепции, чтобы улучшать практики программирования.

let dt = {};
if (data.length > 0) {
  dt.idnotificaciones = data[0].idnotificaciones;
  dt.not_fecha = data[0].not_fecha;
  dt.alu_representante_nombres = data[0].alu_representante_nombres;
  dt.alu_apellidos_nombres = data[0].alu_apellidos_nombres;
  dt.not_curso = data[0].not_curso;
  dt.not_tutor = data[0].not_tutor;
  dt.asunto = [];

  if (data.length >= 1) {
    for (let index = 0; index < data.length; index++) {
      dt.asunto[index] = {
        id: data[index].idnot_asunto,
        not_asunto: data[index].not_asunto
      };
    }
  }
}

console.log(dt)
0
задан 11.11.2019, 16:05
1 ответ

Все видно хорошо, только if(data.length >= 1) он не mecesario, так как он санкционируется первым.

Для for ты можешь использовать map возвращая объект из-за одинокого каждого со свойствами, в котором ты нуждаешься.

dt.asunto = data.map((item) => {
    return {
        id: item.idnot_asunto,
        not_asunto: item.not_asunto
    };
});
1
ответ дан 01.12.2019, 12:44

Теги

Похожие вопросы