Este artigo descreve o método de classificação de matriz personalizado JavaScript. Compartilhe para sua referência. A análise específica é a seguinte:
A Array tem sua própria função de classificação, que é mais conveniente de usar. Uma coisa que devemos ter claramente é a base para a classificação. Se a classificação não passar os parâmetros, ele será classificado na ordem da codificação de caracteres (codificação do Unicode).
var a = ["3", "2", "1"]; console.log (a [0] .Charcodeat (0)); // 51 console.log (a [1] .Charcodeat (0)); // 50 console.log (a [2] .Charcodeat (0)); // 49 console.log (a.sort ()); // ["1", "2", "3"] var a = ["3", "você", "ele"]; console.log (a [0] .Charcodeat (0)); // 51 console.log (a [1] .Charcodeat (0)); // 20320 console.log (a [2] .Charcodeat (0)); // 20182 console.log (a.sort ()); // ["3", "ele", "você"] var a = ["3", "11", "222"]; console.log (a.sort ()); // ["11", "222", "3"] // codificando o primeiro caractere quando vários caracteres são usados
No entanto, acho que a melhor coisa do tipo é que ele pode personalizar a classificação, que também é comum no uso real, como classificar matrizes de objetos. Por exemplo, uma variedade de objetos em uma superfície de linha deve ser classificada de acordo com um dos campos. Obviamente, você também pode escrever uma função para concluí -lo, mas acho que não é conveniente para classificar.
var lista = [{max: 3, avg: 2, min: 1}, {max: 10, avg: 15, min: 20}, {max: 8, avg: 5, min: 2}]; // Sort the list object according to the max field, in the order from small to large// x,y is a single element of the array to be compared, here is an element in the list// The sorting method mainly provides a rule to compare sizes, in other words, to indicate who is bigger and who is smaller// The return value is true or false function sortByField(x, y) { return x.max - y.max; } console.log (list.sort (Sortbyfield));O efeito de operação é mostrado na figura abaixo:
Espero que este artigo seja útil para a programação JavaScript de todos.