Hola!
En este artículo vamos a ver el uso del spread operator para pasar un array a una lista de argumentos. Esto puede ser muy útil en casos donde tenemos que pasar una lista de argumentos (no un array) a un método/función.
Antes de comenzar es importante resaltar el spread operator fue incluido en la nueva versión de Javascript ES6 y ya funciona en todos los navegadores.
📍 Revisa la nueva escuela de JavaScript
Comencemos!
let numeros = [4, 16, 25, 2, 45, 8];
let numeroMayor = Math.max(numeros);
console.log(numeroMayor); // NaN
Observamos que el valor de la variable numeroMayor es NAN, esto es porque el método max() puede recibir una lista de argumentos y no le podemos pasar un array.
Entonces podríamos hacer los siguiente:
let numeroMayor = Math.max(4, 16, 25, 2, 45, 8);
console.log(numeroMayor); // 45
Ahora sí podemos acceder al número más alto de la lista de argumentos. De todos modos podemos mejorar este código gracias al spread operator.
Veamos cómo hacerlo!
let numeros = [4, 16, 25, 2, 45, 8];
let numeroMayor = Math.max(...numeros);
console.log(numeroMayor); // 45
Al anteponer los tres puntos que representan al spread operator transformamos la variable numeros (que en el ejemplo representa un array con números) en una lista de argumentos, y es por ello que podemos acceder al número mayor del array numeros. Es como si le quitáramos los corchetes ( “[]” ) al array.
let numeros = [10, 4, 7, 15, 3, 25];
console.log(numeros); // Imprime un array.
console.log(...numeros); // Imprime una lista de argumentos.
En los próximos días estaré escribiendo otro artículo donde explico en uso del spread operator para concatenar múltiples arrays.
Espero que hayan comprendido este ejemplo y comiencen a implementar este nuevo feature de ES6 en sus proyectos!
Saludos!
Esta misma nota también la pueden encontrar en mi cuenta de medium.
Gracias por el aporte, entendido la funcionalidad …
Gracias me sirvió mucho tu aporte !!!
tenia una problema con un array de objetos, me salia error key. use el spread operator y soluciono el problema. esta bien usarlo para evitar ese problema o deberia probar otro metodo?
uhm al final no me funciono la funcion filter al usar este metodo de copiado de array of objects al final use:
letlist = JSON.parse(JSON.stringify(initialstate.video))
Excelente explicacion justo lo que andaba buscando.
lol
Muy buen articulo muchas gracias
Muchas Gracias, excelente aporte y explicaciòn.
Esto tambien sirve para obtener las propiedades de un objeto?
Por fin lo entiendo!! 😃
Excelente aporte!, entendí su utilidad
gracias por hacer el post
buen aporte.
super tu aporte después de tres años aun lo leo para una clase de vue me fue muy útil
Muchas gracias!!!