Front End

15 jan, 2016

Classificação de um array contendo elementos JSON com chave específica do JSON usando JavaScript

Publicidade

A função a seguir recebe dois parâmetros. O primeiro espera um array com elementos JSON dentro dele, enquanto o segundo espera uma sequência de caracteres, ou seja, a chave do JSON com base na qual o array deve ser classificado. Para este exemplo, usaremos “first_name” como a chave base da classificação. Nós usamos o método .toUpperCase() para evitar a classificação baseada em letras maiúsculas e minúsculas.

Nós definimos uma variável personal_infromations que armazena uma série de JSONs em array. Colocamos um alert do valor armazenado para que fique claro que o ordenamento está sendo feito. Nós armazenamos o valor retornado do método sortByKey na variável sorted_personal_informations. Agora, quando o valor aparece no alert, vemos que o JSON foi classificado com base na chave “first_name”.

function sortByKey(array, key) {
    return array.sort(function(a, b) {
        var x = a[key].toUpperCase();
        var y = b[key].toUpperCase();
        return ((x < y) ? -1 : ((x > y) ? 1 : 0));
    });
}
var personal_informations = [{"first_name":"Bhishan","last_name":"Bhandari","email":"bbhishan@gmail.com","country":"Nepal","phone_number":"9849060230"},{"first_name":"Ankit","last_name":"Pradhan","email":"ankit@ankit.com","country":"Nepal","phone_number":"9999999999"}, {"first_name":"Aalok","last_name":"Koirala","email":"aalok@aalok.com","country":"Nepal","phone_number":"8888888888"}, {"first_name":"Subigya","last_name":"Nepal","email":"subigya@subigya.com","country":"USA","phone_number":"6666666666"}];

alert(personal_informations);

var sorted_personal_informations = sortByKey(personal_informations, "first_name");

alert(sorted_personal_informations);

***

Bhishan Bhandari faz parte do time de colunistas internacionais do iMasters. A tradução do artigo é feita pela redação iMasters, com autorização do autor, e você pode acompanhar o artigo em inglês no link: http://www.thetaranights.com/sorting-an-array-containing-json-elements-with-specific-key-in-the-json-using-javascript/