Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

213
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda