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

190
Views
sobre el ejemplo de devolución de llamada de javascript

 a = [3, 1, 2]; function b(v1, v2) { console.log('c', v1, v2); return 0 }; a.sort(b); console.log(a);

un resultado de este script es así

do 31 do 12 [3, 1, 2]

mi pregunta es

  1. ¿Por qué se llama dos veces a la función b?

  2. Y en el primer log console.log('c', v1, v2);

por qué el valor v1 es el primer valor de matriz de a. es 3"

también por qué v2 es el segundo valor de matriz de "a"

en el segundo registro console.log('c', v1, v2); ¿Por qué el segundo y el tercer valor de la matriz en v1, v2 el resultado es "c 1 2"?

no puedo entender

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

La función de comparación se llama repetidamente (pasando dos elementos de la matriz cada vez) hasta que la matriz se ordena por completo.

Tiene tres elementos en la matriz, por lo que debe llamarse al menos dos veces.

Los valores específicos que se pasan cada vez dependerán del algoritmo de clasificación que haya seleccionado el motor JS (este es un detalle de implementación, no algo exigido por la especificación JS). El orden en que se comparan los elementos en una ordenación de burbuja será diferente a una ordenación rápida .

about 4 years ago · Juan Pablo Isaza Report

0

¿Por qué se llama dos veces a la función b?

sort llama a la devolución de llamada tantas veces como sea necesario para ordenar la matriz. Cada vez, llama a la devolución de llamada con dos elementos de la matriz para que la devolución de llamada pueda decirle en qué orden deben estar esos dos elementos.

Y en el primer log console.log('c', v1, v2);

por qué el valor v1 es el primer valor de matriz de a. es 3"

también por qué v2 es el segundo valor de matriz de "a"

No lo serán, necesariamente; sort puede llamar a la devolución de llamada con los elementos que desee. El algoritmo específico utilizado para clasificar no está dictado por la especificación. Todo lo que se dicta es que sea estable (no cambie innecesariamente el orden de los elementos equivalentes) y que haga su trabajo utilizando la devolución de llamada proporcionada, si corresponde.

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!