Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

175
Vistas
unir objetos y luego calcular la calificación para la calificación del estudiante

Estoy atascado con un problema.

Así que estoy haciendo este sistema de calificación de estudiantes. La forma en que funciona es que el sistema debería poder hacer coincidir la clave de respuesta con la respuesta de un estudiante. Las claves de respuesta se almacenan así:

 const answerkeys = {math01: a, math02: b, math03 : d, ...}

También hay un sistema de calificación en el que math01 vale 5 puntos y math 02 vale 10 puntos, etc. Por confusión, guardé los datos en otro conjunto de recopilación de datos de la siguiente manera:

 const scoring = {math01: 5, math02: 10, math03: 5, ...}

Y luego las respuestas de los estudiantes se almacenan así:

 const answers = {0: {math01: a, math02: c, ... } 1: {math01: b, math02: a, ... } 2: {math01: a, math02: c, ... } ... }

Al principio, lógicamente pensé que podía iterar las respuestas, luego el resultado individual se comparará con las claves de respuesta y las (coincidencias) devueltas se multiplicarán con la clave de respuesta y la puntuación.

Así que intenté hacerlo de esta manera:

 const studentAnswers = answers.map((elem) => {return elem}); studentAnswer.filter(answer => answerkeys.includes(answer));

pero me esta dando

"result.js:82 TypeError no capturado: no se pueden leer las propiedades de undefined (leyendo 'filtro')"

¿Cómo comparar entre "claves de respuesta" y "respuestas" y luego calcular las puntuaciones usando "puntuación"?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

No hay un map nativo para el objeto Object , pero sugiero que esto funcionará:

 let allStudentsScores = {} for (var idx in answers) { let studentAnswer = answers[idx] let studentScore = 0 for(var key in studentAnswer) { if (studentAnswer[key]==answerkeys[key]) { studentScore += scoring[key] } } allStudentsScores[idx] = studentScore }

la variable allStudentsScores contiene la puntuación de cada estudiante. Donde el idx <0, 1, 2, ...> representa a cada estudiante.

Esperanza responde a tu pregunta.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda