Prefácio
Classificar uma matriz é um requisito muito comum, especialmente no back -end. Obviamente, o front -end também tem esse requisito.
Obviamente, existem métodos prontos para classificação de matrizes. É o método sTEL ().
Vamos começar a olhar para isso primeiro.
Resposta padrão, método de classificação
var Arr = [45,98,67,57,85,6,58,83,48,18]; console.log ('Array original'); console.log (arr); console.log ('Método de classificação classificado de pequeno a grande'); console.log (arr.sort (função (a, b) {B) pequeno '); console.log (arr.sort (function (a, b) {return ba})); console.log (' método de classificação classificado de grande a pequeno '); console.log (arr.sort (function (a, b) {return ba}));Os resultados da operação são os seguintes:
Deve -se notar aqui que o tipo é classificado alfabético por padrão. Portanto, quando organizamos números, precisamos de uma função personalizada.
Como o código acima
função (a, b) {return ab}
Esta é uma função de classificação de pequeno a grande. Parece muito simples, mas não entendo, então implementarei a classificação de acordo com minhas idéias ~
Minha resposta, para o tipo de método
var Arr = [45,98,67,57,85,6,58,83,48,18]; console.log ('Array original'); console.log ('arr'); console.elg ('para métodos classificados de pequeno a grande'); console.log ('ArrsortMintomAx (Arr); pequeno '); console.log (' arsortmaxtomin (arr)); // Encontre o menor valor na função da matriz Arrminnum (arr) {var minnum = infinito, index = -1; para (var i = 0; i <arr.length; i ++) {if (arr [i] <innum) {minnum; {"minnum": minnum, "index": index};} // retorna o resultado da classificação de pequeno para grande na função da matriz ArrSortMintomax (arr) {var ArrNew = []; var Arrold = arr.Concat (); para (var i = 0; i <arn.Length; i ++) {arrNew.push (Arrminnum (Arrold) .Minnum); arrold.splice (Arrminnum (Arrold) .Index, 1)}; return (arrNew);} // Encontre o maior valor na função da matriz Arrmaxnum (Arr) {var maxnum = -infinity, Index = -1; (arr [i]> maxnum) {maxnum = arr [i]; index = i;}}; return {"maxnum": maxnum, "index": index};} // retorna o resultado da classificação de grande a varrold irrsorrsortmaxtomin (Arr) (ArrNew]; Arr.Length;Os resultados da operação são mostrados na figura abaixo
Pontos de conhecimento no meu método
1. Quando uma função precisa retornar vários dados, é mais conveniente usar o formato de objeto JSON. Por exemplo, o retorno {"Minnum": Minnum, "Index": Index} acima;
2. Se você usar o método var Arrold = arr para copiar uma matriz e operar no chegada, isso afetará a matriz original do ARR. Porque o JavaScript é dividido em tipos primitivos e tipos de referência (semelhante ao Java e C#). Array é um tipo de referência. ARROLD recebe uma referência; portanto, a modificação para chegar afetará o ARR .
Métodos para copiar matrizes (i) var Arrold = arr.Concat (); , Princípio: a função concat () é uma função usada para unir várias matrizes. Este método de escrita é equivalente a si mesmo. Isto é, copiando.
Métodos para copiar matrizes (2) var Arrold = arr.slice (0). Princípio: a função Slice () é uma função que intercepta matrizes. Definir o valor para 0 é interceptar todos eles, o que é equivalente à cópia.
3. O método Splice () é usado para inserir, excluir ou substituir elementos de uma matriz. Aqui está o recurso que usa seus locais excluídos na matriz.
4. A diferença entre meu método e método de classificação.
Meu método não modifica a matriz original, enquanto Sort é uma modificação com base na matriz original.
Meu método retorna uma nova matriz e a matriz original não desapareceu ou alterou. (Parece ser o mesmo que a frase acima ...)
5. A classificação é um ponto de conhecimento muito, muito básico e muito importante na programação. A classificação de classificação é relativamente baixa ao executar uma grande quantidade de dados. Obviamente, a eficiência do meu método também é muito baixa.
Este artigo é reproduzido em: http://blog.csdn.net/fungleo/article/details/51555590
O exposto acima é o conteúdo inteiro do método de classificação de classificação JavaScript e método de classificação de auto-implementação que o editor apresentou a você. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem. O editor responderá a tempo. Muito obrigado pelo seu apoio ao site da Wulin Network.