¿Cómo ordenar un arreglo de números en javascript?

publicado por: Anonymous

Me encontré con este simple problema en javascript, al realizar un sort a un array de números no me los ordenaba correctamente de menor a mayor:

_x000D_

_x000D_

var arrayStrings = ['Banana', 'World', 'Apple', 'Chocolate']_x000D_
var arrayNumbers = [10, 8, 9, 5, 3, 78, 23]_x000D_
_x000D_
console.log(arrayStrings.sort()) // Lo ordena bien_x000D_
console.log(arrayNumbers.sort()) // Lo ordena mal

_x000D_

_x000D_

_x000D_

solución

Lo pude solucionar de esta forma:

_x000D_

_x000D_

var arrayNumbers = [10, 8, 9, 5, 3, 78, 23]_x000D_
_x000D_
// Sintaxis ES5_x000D_
console.log(arrayNumbers.sort(function (a, b){_x000D_
    return a - b;_x000D_
}))_x000D_
_x000D_
// Sintaxis ES2015_x000D_
console.log(arrayNumbers.sort((a, b) => a - b ))

_x000D_

_x000D_

_x000D_

También se puede de hacer de una manera implicita realizando un prototype de la siguiente forma:

_x000D_

_x000D_

var arrayNumbers = [10, 8, 9, 5, 3, 78, 23]_x000D_
_x000D_
Array.prototype.sortNumbers = function(){_x000D_
    return this.sort(_x000D_
        function(a,b){_x000D_
            return a - b_x000D_
        }_x000D_
    );_x000D_
}_x000D_
_x000D_
console.log(arrayNumbers.sortNumbers())

_x000D_

_x000D_

_x000D_

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *