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

La correlación de Pearson

La correlación de Pearson es una medida estadística que evalúa la relación lineal entre dos…

1 día ago

Cómo instalar la extensión de MATLAB en Visual Studio Code

Visual Studio Code es uno de los editores de código más populares actualmente, gracias a…

3 días ago

Comprobar que una cadena sólo contiene números en Python

En muchas aplicaciones se puede recibir una cadena de texto que solamente debe contener valor…

5 días ago

Descubriendo anomalías con HBOS (Histogram-Based Outlier Score)

Las anomalías, también conocidas como ”outliers”, son puntos que se desvían significativamente de la mayoría…

1 semana ago

Mejorando la calidad del código Python con comas finales: Un detalle que marca la diferencia

A la hora de escribir código los detalles importan, incluso los aparentemente insignificantes. Uno de…

1 semana ago

Obtener los datos de cotización de acciones en Python

En el ámbito financiero, acceder a datos precisos es esencial para poder realizar análisis acertados.…

2 semanas ago

This website uses cookies.