Calcular una media aritmética
Solución
<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>
<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.