em Uncategorized

Ordenando dados JSON em javascript

Trabalho com javascript há mais de 5 anos, e nunca tive que usar o método sort() da classe Array.
Porque? Em todos projetos que participei os dados já vinham ordenados pelo backend.

Ai, essa semana apareceu uma demanda para fazer a ordenação de dados que vêm através de uma requisição assíncrona no formato JSON. Pensei em alterar o backend, mas ia ter impacto em outros lugares e não daria tempo de validar se iria quebrar em outros pontos… então, procurei uma forma de como fazer isso, e encontrei, usando o método sort(). É possível usá-lo, passando uma função como parâmetro e nela criando a lógica para ordenar por uma determinada chave (lembrando que dados JSON são uma sequencia de chaves/valores).

Parece complexo, mas não é. Por exemplo, tendo dados nesse formato:

var featureData = [{name:"chris",description:"description 1}, {name:"guilherme",description:"description 2"},{name:"bianca",descrip tion:"description 3"}];

Digamos que você queira organizar esses dados pela cahe name, em ordem alfabética. Simples:

featureData.sort(function (obj1, obj2) {
return obj1.name < obj2.name ? -1 :
(obj1.name > obj2.name ? 1 : 0);
});

Referência: http://www.highdots.com/forums/javascript/re-sorting-json-data-270187.html

Escreva um comentário

Comentário