Discutamos algunos antecedentes, por qué apply
existen especialmente cuando tenemos el método call
con una sintaxis similar.
En primer lugar tenemos que comprender algunos temas:
función variadic:
En la programación de ordenadores es una función que puede aceptar cualquier número de argumentos .
estructura de datos es de JavaScript:
en JavaScript, si se trata de datos que las estructuras de datos utilizados más comúnmente es la matriz, y en la mayoría de los casos obtenemos los datos en forma de matriz.
Ahora bien, si estamos ejecutando cualquier función variadic en javascript que nuestra llamada se verá así -
average
es una función variadic, y su llamada será similar,
average(1,2,3);
average(1);
average(3,5,6,7,8);
y si están recibiendo los datos en formato de matriz (en la mayoría de los casos vamos a obtener los datos en formato de matriz para las funciones variadic), de las que necesitamos para llamar a nuestra función como -
average(array[0],array[1],array[2],array[3],.... and so on)
¿Qué pasa si tenemos una matriz con 100 elementos de longitud, lo escribimos así?
No, tenemos el método apply
, que fue diseñado solo para este propósito.
average.apply(null,array);
La documentación debe aplicar algunos hasta cómo es especial: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/function/apply (pista: se hace algo especial con el * tipo array cosa * [ver notas] suministradas como un parámetro) –