How to sort a Hash table?

How to sort a Hash table?

Postby Giovany Vecchi » Tue Jun 25, 2024 11:47 am

I have a hash table and I would like to know how to sort a column.
Ex: "BAIRRO"

Code: Select all  Expand view
{{"CEP"=>"15700-772", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"DE 4390/4391 AO FIM", "UNIDADE"=>"", "BAIRRO"=>"CONJUNTO HABITACIONAL ROQUE VIOLA", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15700-716", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"DE 3819/3820 A 4106/4107", "UNIDADE"=>"", "BAIRRO"=>"VILA NOSSA SENHORA APARECIDA", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15700-726", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"DE 4108/4109 A 4388/4389", "UNIDADE"=>"", "BAIRRO"=>"JARDIM PAULISTA", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15700-614", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"DE 3400/3401 A 3817/3818", "UNIDADE"=>"", "BAIRRO"=>"JARDIM PARAÍSO", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15703-032", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"ATÉ 3399 - LADO ÍMPAR", "UNIDADE"=>"", "BAIRRO"=>"JARDIM AMÉRICA - SEGUNDA PARTE", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15703-030", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"ATÉ 3398 - LADO PAR", "UNIDADE"=>"", "BAIRRO"=>"JARDIM AMÉRICA - SEGUNDA PARTE", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}}
User avatar
Giovany Vecchi
 
Posts: 223
Joined: Mon Jun 05, 2006 9:39 pm
Location: Brasil

Re: How to sort a Hash table?

Postby Antonio Linares » Tue Jun 25, 2024 12:12 pm

local a := {{"CEP"=>"15700-772", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"DE 4390/4391 AO FIM", "UNIDADE"=>"", "BAIRRO"=>"CONJUNTO HABITACIONAL ROQUE VIOLA", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15700-716", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"DE 3819/3820 A 4106/4107", "UNIDADE"=>"", "BAIRRO"=>"VILA NOSSA SENHORA APARECIDA", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15700-726", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"DE 4108/4109 A 4388/4389", "UNIDADE"=>"", "BAIRRO"=>"JARDIM PAULISTA", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15700-614", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"DE 3400/3401 A 3817/3818", "UNIDADE"=>"", "BAIRRO"=>"JARDIM PARAÍSO", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15703-032", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"ATÉ 3399 - LADO ÍMPAR", "UNIDADE"=>"", "BAIRRO"=>"JARDIM AMÉRICA - SEGUNDA PARTE", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15703-030", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"ATÉ 3398 - LADO PAR", "UNIDADE"=>"", "BAIRRO"=>"JARDIM AMÉRICA - SEGUNDA PARTE", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}}

ASort( a,,, { | hElem1, hElem2 | hElem1[ "BAIRRO" ] < hElem2[ "BAIRRO" ] } )

{{"CEP"=>"15700-772", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"DE 4390/4391 AO FIM", "UNIDADE"=>"", "BAIRRO"=>"CONJUNTO HABITACIONAL ROQUE VIOLA", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15703-032", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"ATÉ 3399 - LADO ÍMPAR", "UNIDADE"=>"", "BAIRRO"=>"JARDIM AMÉRICA - SEGUNDA PARTE", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15703-030", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"ATÉ 3398 - LADO PAR", "UNIDADE"=>"", "BAIRRO"=>"JARDIM AMÉRICA - SEGUNDA PARTE", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15700-614", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"DE 3400/3401 A 3817/3818", "UNIDADE"=>"", "BAIRRO"=>"JARDIM PARAÍSO", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15700-726", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"DE 4108/4109 A 4388/4389", "UNIDADE"=>"", "BAIRRO"=>"JARDIM PAULISTA", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}, {"CEP"=>"15700-716", "LOGRADOURO"=>"RUA PROFESSOR RUBIÃO MEIRA", "COMPLEMENTO"=>"DE 3819/3820 A 4106/4107", "UNIDADE"=>"", "BAIRRO"=>"VILA NOSSA SENHORA APARECIDA", "LOCALIDADE"=>"JALES", "UF"=>"SP", "IBGE"=>"3524808", "GIA"=>"3967", "DDD"=>"17", "SIAFI"=>"6597"}}
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: How to sort a Hash table?

Postby Giovany Vecchi » Tue Jun 25, 2024 11:20 pm

Thank you very much Antonio.
It worked just fine.
User avatar
Giovany Vecchi
 
Posts: 223
Joined: Mon Jun 05, 2006 9:39 pm
Location: Brasil


Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot], Natter and 60 guests