Calcular una media aritmética

Crear una función que calcule la media aritmética (suma de datos dividido por número de valores) de un conjunto de datos numéricos que se le pasan como argumentos. El número de datos es variable.

En este ejemplo verás como se crea una función y como se usa un bucle for

Solución

Puede ir en head

<script>

function media() {

  let total=0, res, numDatos, item;

  numDatos = arguments.length;

  for (item = 0; item < numDatos; item++)

    {

     total += arguments[item];

    }

  res = total/numDatos;

  return res;

}

</script>

El contenido de la sección body:

<body>

<p>La media de 3,50,40,25,10 es:

<script>

document.write( media( 3,50,40,25,10) );

</script>

</p>

</body>

Explicación

Se crea la función como es habitual con function.

Se declaran las variables que se van a usar, en esta ocasión al mismo tiempo inicializamos en 0 el valor de una de ellas, total, que va a almacenar la suma de los datos.

Guardamos en numDatos el número de argumentos, para ello se usa la propiedad length del objeto argument, una propiedad de Function.

Mediante un bucle for recorremos la matriz argumentos y vamos acumulando en total los datos pasados a la función.

Observa el uso del operador += que suma al contenido de la variable total el valor del elemento arguments[item].

Calcula la media dividieno total por el numDatos y por último devuelve el resultado almacenado en res.

Este código podría ser más corto, pero he preferido detallarlo lo mas posible para ilustrar el uso de operadores y hacer el programa más claro.

NOTA en javascript ES6 se recomienda usar el operador spread en lugar de arguments. En el ejemplos sería cambiar la definición de la función por media(...datos) y usar el array datos en lugar de arguments.