• Saltar al contenido principal
  • Skip to secondary menu
  • Saltar a la barra lateral principal
  • Saltar al pie de página
  • Inicio
  • Secciones
    • Ciencia de datos
    • Criptografía
    • Herramientas
    • Machine Learning
    • Noticias
    • Opinión
    • Productividad
    • Programación
      • JavaScript
      • Julia
      • Matlab
      • Python
      • R
  • Programación
    • JavaScript
    • Julia
    • Matlab
    • Python
    • R
  • Noticias
  • Boletín
  • Contacto
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad
    • Tiendas afiliadas
      • AliExpress
      • Amazon
      • Banggood
      • GeekBuying
      • Lenovo

Analytics Lane

Ciencia e ingeniería de datos aplicada

  • Ciencia de datos
  • Machine Learning
  • Python
  • Pandas
  • NumPy
  • Matlab
  • Julia
  • JavaScript
  • Excel

Truco JavaScript: repetir un vector en JavaScript

mayo 19, 2021 Por Daniel Rodríguez Deja un comentario
Tiempo de lectura: 2 minutos

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.

Publicidad


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?

¡Puntúalo entre una y cinco estrellas!

Puntuación promedio 0 / 5. Votos emitidos: 0

Ya que has encontrado útil este contenido...

¡Síguenos en redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?

Publicaciones relacionadas

  • JavaScript
    Medir la calidad del código JavaScript (Creación de…
  • compass
    Validar y documentar el código TypeScript (5º y…
  • JavaScript
    Compresión del código JavaScript (Creación de una…
  • JavaScript
    Estructurar las funciones JavaScript (Creación de…
  • highway
    Métodos para operar sobre arrays en JavaScript de…
  • nvidia
    Uso de GPU en JavaScript para mejorar el rendimiento

Publicado en: JavaScript Etiquetado como: Truco

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

I accept the Terms and Conditions and the Privacy Policy

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Publicidad





Barra lateral principal

Suscríbete a nuestro boletín

Suscríbete al boletín semanal para estar al día de todas las publicaciones.

Política de Privacidad

Analytics Lane en redes sociales

  • Amazon
  • Facebook
  • GitHub
  • Instagram
  • Pinterest
  • RSS
  • Twitter
  • Tumblr
  • YouTube

Publicidad

Entradas recientes

Mantener un sistema de alta disponibilidad con PostgreSQL y repmgr

diciembre 1, 2023 Por Daniel Rodríguez

Diferencias entre los errores 401 y 403 del estándar HTTP

noviembre 29, 2023 Por Daniel Rodríguez

Ver el código de cualquier función en Python

noviembre 27, 2023 Por Daniel Rodríguez

Publicidad

Es tendencia

  • Duplicado Eliminar registros duplicados en pandas publicado el junio 20, 2018 | en Python
  • Gráficos de barras en Matplotlib publicado el julio 5, 2022 | en Python
  • ¿Cómo cambiar el nombre de las columnas en Pandas? publicado el mayo 6, 2019 | en Python
  • El método Sainte-Laguë y su implementación en Python publicado el septiembre 22, 2023 | en Ciencia de datos
  • Numpy básico: eliminar elementos en arrays de Numpy publicado el octubre 30, 2019 | en Python

Publicidad

Lo mejor valorado

4.9 (22)

Seleccionar filas y columnas en Pandas con iloc y loc

4.7 (12)

Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas

4.6 (15)

Archivos JSON con Python: lectura y escritura

4.5 (10)

Diferencias entre var y let en JavaScript

4.4 (13)

Ordenación de diccionarios en Python mediante clave o valor

Publicidad

Comentarios recientes

  • Anto en Rendimiento al iterar en JavaScript sobre un vector
  • Daniel Rodríguez en Creación de un certificado Let’s Encrypt en Windows con Win-Acme
  • Guillermo en Creación de un certificado Let’s Encrypt en Windows con Win-Acme
  • Daniel Rodríguez en ¿Cómo eliminar columnas y filas en un dataframe pandas?
  • Miguel en ¿Cómo eliminar columnas y filas en un dataframe pandas?

Publicidad

Footer

Analytics Lane

  • Acerca de Analytics Lane
  • Boletín de noticias
  • Contacto
  • Libros
  • Lo más popular
  • Noticias
  • Tienda
  • Tiendas afiliadas

Secciones

  • Ciencia de datos
  • Criptografía
  • Herramientas
  • Machine Learning
  • Opinión
  • Productividad
  • Programación
  • Reseñas

Sobre de Analytics Lane

En Analytics Lane tratamos de explicar los principales conceptos de la ciencia e ingeniería de datos con un enfoque práctico. Los principales temas tratados son ciencia de datos, ingeniería de datos, inteligencia artificial, machine learning, deep learning y criptografía. Además, también se habla de los principales lenguajes de programación y herramientas utilizadas por los científicos e ingenieros de datos.

Copyright © 2018-2023 Analytics Lane ·Términos y condiciones ·Política de Cookies ·Política de Privacidad ·Herramientas de privacidad ·Contacto