Sorting array of objects by name [duplicate]

0

Well I'm with an array of objects and I need to sort it by name. My following array:

COD_IDENT_PESSO: "120151202162147"
FLG_IDENT_PRESE: "M"
FLG_STATU_PESSO: "A"
TXT_NOMEX_PESSO: "Renan Rodrigues Moraes"

COD_IDENT_PESSO: "120151202162542"
FLG_IDENT_PRESE: "L"
FLG_STATU_PESSO: "A"
TXT_NOMEX_PESSO: "Pedro Algusto"

COD_IDENT_PESSO: "120151202162836"
FLG_IDENT_PRESE: "M"
FLG_STATU_PESSO: "A"
TXT_NOMEX_PESSO: "Andre Medeiros"

COD_IDENT_PESSO: "120151202162837"
FLG_IDENT_PRESE: "M"
FLG_STATU_PESSO: "A"
TXT_NOMEX_PESSO: "Sousa Carvalho"

COD_IDENT_PESSO: "1151206095050177"
FLG_IDENT_PRESE: "L"
FLG_STATU_PESSO: "A"
TXT_NOMEX_PESSO: "Membro Sinc"

COD_IDENT_PESSO: "1151209082951928"
FLG_IDENT_PRESE: "M"
FLG_STATU_PESSO: "A"
TXT_NOMEX_PESSO: "55555"

My code responsible for sorting:

for(var i = 0; i < arrayVelho.length; i++){
   if(arrayVelho[i].TXT_NOMEX_PESSO < nome){
       nome = arrayVelho[i].TXT_NOMEX_PESSO;
       arrayNovo = arrayVelho[i];
       arrayVelho[i].pop();
    }
}

But this logic I used is not working, how to do it?

    
asked by anonymous 09.12.2015 / 17:11

2 answers

1

To sort objects use the sort() function, here is more information .

   arrayVelho.sort(function(a,b) {
        if(a.TXT_NOMEX_PESSO < b.TXT_NOMEX_PESSO) return -1;
        if(a.TXT_NOMEX_PESSO > b.TXT_NOMEX_PESSO) return 1;
        return 0;
    });

    for(var i = 0; i < arrayVelho.length; i++){
       if(arrayVelho[i].TXT_NOMEX_PESSO < nome){
           nome = arrayVelho[i].TXT_NOMEX_PESSO;
           arrayNovo = arrayVelho[i];
           arrayVelho[i].pop();
        }
    }
    
09.12.2015 / 17:19
0

ORIGINAL REPLY .

See Running.

    var objeto = [ 
    { data : new Date('11-30-2015'), nome: 'Marconi', telefone:'32486745425'},
    { data : new Date('11-31-2015'), nome: 'Marcos', telefone:'32486745425'},
    { data : new Date('11-25-2015'), nome: 'B', telefone:'32486745425'},
    { data : new Date('11-27-2015'), nome: 'Testes', telefone:'32486745425'},
];
 			
function compare(a,b) {
  return a.nome < b.nome;
}

console.log(objeto.sort(compare));
    
09.12.2015 / 17:20