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

110
Vistas
Objeto (nombre, apellido, número de índice, tabla con calificaciones) con un método que calcula el promedio de calificaciones

Así que he estado tratando de resolver esta tarea de la universidad. Tengo una comprensión aproximada de cómo resolver esto, pero solo se me ocurrieron las soluciones que no funcionan o que realmente no corresponden a los requisitos de la tarea.

La tarea se ve así.

Cree un objeto usando Inicializador de objetos, asigne propiedades que lo describan (nombre, apellido, número de índice, tabla con calificaciones). Asigne un método al objeto que calcula el promedio de calificaciones

Esta es la solución que funciona, pero no es exactamente lo que se supone que debe hacerse.

 function Grade (math, science, programming, management){ this.math = math; this.science = science; this.programming = programming; this.management = management; return (math + science + programming + management)/arguments.length; } const student = { name: 'John', surname: 'Smith', index: 'x4sx4sd', grade: Grade(5,4,5,5) } console.log(student);

Este es mi intento que no funciona pero, en mi opinión, está más cerca de la verdad pero sin la parte promedio.

 const student = { name: 'John', surname: 'Smith', index: 'xxxxx', grade: { math: 5, science: 5, language: 5, marketing: 5, management: 5 }, gradeAvg: function(grade){ grade=this.grade; let total = 0; for (let value in object){ total += grade[value] } return total; } } console.log(student);

Entiendo que es una pregunta de nooby, he intentado buscar en Google lo más que he podido pero no pude encontrar nada, cualquier ayuda sería apreciada.

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

0

Cambie su gradeAvg en una función getter que se ejecutará cuando cargue el objeto. Además, para obtener el promedio (que requiere un conteo), puede acceder al conteo usando Object.entries (que convierte el objeto en una matriz) y luego obtener la longitud

 const student = { name: 'John', surname: 'Smith', index: 'xxxxx', grade: { math: 2, science: 5, language: 5, marketing: 1, management: 5 }, get gradeAvg() { let total = 0; for (let value in this.grade) { total += this.grade[value] } return total / Object.entries(this.grade).length; } } console.log(student);

about 4 years ago · Juan Pablo Isaza Denunciar

0

Entonces, antes que nada, debe convertir el objeto de calificación de Objeto a matriz para que pueda sumar todos los elementos. Object.values hace eso, por lo que {a: 1, b: 2} se convertiría en [1, 2] . A continuación, debe obtener el número de calificaciones para poder dividir la suma para obtener el promedio. Lo último que necesita es una suma de la matriz que hemos creado anteriormente, el método de reduce de matriz se usa para reducir la matriz en un valor.

 get GradeAvg() { const gradesArray = Object.values(this.grade); const gradesCount = gradesArray.length; const gradesSum = gradesArray.reduce((sum, current) => { sum += current; return sum; }) return gradesSum / gradesCount; }
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