Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

181
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!