Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

207
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!