Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

114
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda