Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

208
Vistas
Inicializar matriz tal como está frente a hacer array.push (elemento) en javascript

¿Hay alguna diferencia de rendimiento entre hacer:

 const array = [1, 2]

y

 const array = [] array.push(1); array.push(2);

Creo que este último es más legible. Leí que array.push() es más rápido en algunos navegadores en comparación con hacer array[n] = item, pero no encontré nada sobre la inicialización con el elemento tal cual. ¿Son ambas operaciones O(1)? ¿Hay algún inconveniente en hacer esto último?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El primer método ( const array = [1, 2] ) es más eficaz, ya que hay menos operaciones.

Después de ejecutar un punto de referencia rápido para respaldar esto, ¡parece que el segundo método es un 95% más lento! (basado en aproximadamente 736026 000 operaciones por segundo, en lugar de 27 184 000 operaciones por segundo)


Aquí hay una demostración rudimentaria que muestra cuánto tiempo (en milisegundos) lleva ejecutar cada operación 1 millón de veces.

 const NUM_ITTERATIONS = 1000000; // TC 1: Initializing an Array function testCase1() { const array = [1, 2] } // TC 2: Using Array.push() function testCase2() { const array = [] array.push(1); array.push(2); } // Start timer, run given function x time, then end timer const runPerformanceTest = (testCase, msg) => { const startTime = performance.now(); let n = 0; while (n < NUM_ITTERATIONS) { testCase(); n++; } const endTime = performance.now(); const totalTime = endTime - startTime; console.log(`${msg}: ${totalTime} ms`); } // Kick of the test for each function + print results runPerformanceTest(testCase1, 'Test Case 1'); runPerformanceTest(testCase2, 'Test Case 2');

Alternativamente, aquí hay un punto de referencia más largo: https://jsbench.me/msl33e4b6k/1

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda