Estoy aprendiendo Javascript y enfrenté un problema con la clasificación de números. No entiendo cómo funciona la función de clasificación y encontré otra forma de ordenar los números, pero fue con la lista, no con las matrices. Necesito explicaciones. También veo este enlace: Clasificación de matriz con números sin método sort ()
const points = [40, 100, 1, 5, 25, 10]; document.getElementById("demo1").innerHTML = points; points.sort(function(a, b) { return a - b }); document.getElementById("demo2").innerHTML = points; document.getElementById("demo3").innerHTML = points.sort(); unsorted: <div id="demo1"></div> sorted: <div id="demo2"></div> sorted alphabetically: <div id="demo3"></div> const points = [40, 100, 1, 5, 25, 10]; console.log(points) console.log(points.sort()) console.log(points.sort(function(a, b){return (a - b);}))De forma predeterminada, la función sort() ordena los valores como cadenas.
Sin embargo, si los números se ordenan como cadenas, "25" es mayor que "100", porque "2" es mayor que "1".
Debido a esto, el método sort() producirá resultados incorrectos al ordenar números.
Puede solucionar esto proporcionando una función de comparación:
puntos constantes = [40, 100, 1, 5, 25, 10]; puntos.sort(función(a, b){return a - b});