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

86
Vistas
La función Javascript devuelve la salida como indefinida

Soy nuevo en Javascript y actualmente estoy tratando de crear un programa simple que consta de 2 funciones, una de las cuales calcula el total de calificaciones de los estudiantes y la otra calcula el promedio de la calificación. aquí está el código

 var grades = [80, 87, 94, 82, 62, 98, 81, 81, 74, 91]; var sum = 0; function accumulatedGrades(){ for (index = 0; index<grades.length; index++){ sum += grades[index]; } return sum / grades.length; } function tests(){ document.getElementById('average').innerHTML = document.write(sum/grades.length); }
 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="js/example.js"></script> </head> <body> <h2 style="color: blueviolet">Grades</h2> <h3>This is all the grades: <br>80, 87, 94, 82, 62, 98, 81, 81, 74, and 91</h3> <h2 style="color: blueviolet">Average</h2> <h3 id='average'><script>tests()</script></h3> </body> </html>

Intenté jugar con la función tests() y usé document.write() pero el resultado que he visto hasta ahora no está definido o no se muestra ningún resultado.

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

0

La función de calificaciones accumulatedGrades nunca se llama, por lo que la sum es 0. document.write e innerHTML no funcionan como lo ha indicado. document.write escribe en el documento e innerHTML es propiedad del elemento individual. La función de tests no está disponible en el archivo html. Actualicé el código, arreglé la función de calificaciones accumulatedGrades para calcular la suma correctamente. Se corrigió el html y se llamó a la función de tests en el propio archivo js.

 var grades = [80, 87, 94, 82, 62, 98, 81, 81, 74, 91]; var sum = 0; function accumulatedGrades() { for (index = 0; index < grades.length; index++) { sum += grades[index]; } return sum; } function tests() { document.getElementById('average').innerHTML = (accumulatedGrades()) / grades.length; } tests()
 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="js/example.js"></script> </head> <body> <h2 style="color: blueviolet">Grades</h2> <h3>This is all the grades: <br>80, 87, 94, 82, 62, 98, 81, 81, 74, and 91</h3> <h2 style="color: blueviolet">Average</h2> <h3 id='average'></h3> </body> </html>

about 4 years ago · Juan Pablo Isaza Denunciar

0

document.write() puede eliminar contenido si se llama después de cargar la página.

 function averageGrades(){ for (index = 0; index<grades.length; index++){ sum += grades[index]; } return sum / grades.length; } document.getElementById('average').innerHTML = averageGrades();

Verifique este código y avíseme si necesita una explicación.

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