JavaScript

Truco JavaScript: repetir un vector en JavaScript

En Python existe una forma extremadamente sencilla de replicar el contenido de una lista una cantidad de veces, simplemente multiplicando la lista por un escalar. Por ejemplo, si escribimos [1, 2] * 3 se obtienen [1, 2, 1, 2, 1, 2]. Pero repetir un vector en JavaScript es algo más complicado que se puede conseguir con un par de trucos.

Uso de Array(), fill() y flat()

Quizás la manera más sencilla para conseguir repetir el contenido de un vector en JavaScript es combinar la Array(), fill() y flat(). En primer lugar se puede usar Array() para crear un nuevo vector que rellena con el contenido de nuestro vector con fill(). Esto devuelve un vector lleno de los vectores que necesitamos duplicar. Ahora, para obtener el objetivo deseado simplemente tendremos que usar flat() para crear un nuevo vector con todos los elementos de los vectores internos concatenados. Así que para replicar el ejemplo de la introducción solamente hay que escribir.

const repeat = Array(3).fill([1,2]).flat(); // [ 1, 2, 1, 2, 1, 2 ]

El operador de propagación (...)

Otra alternativa puede ser para obtener el resultado puede ser el uso del operador de propagación, un operador que crea un vector en una lista elementos. Lo que se puede usar para crear un vector con el método concat(). Así que se puede crear un vector con los vectores duplicados con Array() y fill() para posteriormente concatenar a un vector vacío la lista de parámetros que se obtienen del vector. De este modo, el ejemplo anterior se puede conseguir mediante.

const repeat = [].concat(... new Array(3).fill([1,2]));

Aunque personalmente prefiero el uso del método `flat()` por tener una sintaxis más sencilla, es necesario tener en cuenta que operador de propagación es un estándar de ES6 mientras que `flat()` apareció en ES2019, por lo que el primero ofrece una mayor compatibilidad con navegador antiguos.

Conclusiones

El truco que hemos visto hoy nos puede ayudar cuando necesitamos duplicar el contenido de un vector en JavaScript.

Imagen de Theodor Moise en Pixabay

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: Truco

Recent Posts

Interés compuesto: la fuerza que multiplica tu dinero (y los errores que la anulan)

“El interés compuesto es la octava maravilla del mundo. El que lo entiende lo gana…

2 días ago

Cómo comparar datos con barras en Matplotlib: agrupadas, apiladas y porcentuales

Tienes los datos de ventas de tres productos en dos años distintos y quieres saber…

4 días ago

Costes hundidos en ciencia de datos: cuándo mantener un modelo y cuándo migrar

Imagina la situación. Tu equipo lleva tres años con un modelo en producción. No es…

1 semana ago

WOE e IV: La Base Matemática del Credit Scoring

Cuando un banco evalúa una solicitud de crédito necesita responder a una pregunta aparentemente simple:…

2 semanas ago

Lanzamiento de la versión 1.0 del laboratorio de Analytics Lane con nuevas herramientas de scoring

En el octavo aniversario de Analytics Lane seguimos ampliando nuestro laboratorio de aplicaciones interactivas y,…

2 semanas ago

¡Analytics Lane cumple ocho años!

Hoy, 2 de mayo de 2026, Analytics Lane cumple exactamente ocho años. Todo empezó con…

2 semanas ago

This website uses cookies.