Talk Galera, I started to study JS and created a list function that creates the list that verifies the user's gender and creates a list as below.
<ul>
<li>Diego é homem e possui 23 anos</li>
<li>Gabriela é mulher e possui 18 anos</li>
<li>José é homem e possui 30 anos</li>
<li>Maria é mulher e possui 27 anos</li>
</ul>
<button onClick="">Ordenar por nome</button>
<button onClick="">Ordenar por idade</button>
<button onClick="">Exibir apenas homens</button>
<button onClick="">Exibir apenas mulheres</button>
<button onClick="">Exibir todos</button>
The first two buttons should sort the list, by name and by age. The other 3 buttons should apply filters in the list displaying only men, only women or all. The filter should work next to sorting so it should be possible to filter only men and sort by age.
I have already created the function to sort by age, gave a console log and is ordering my doubt is how do I only order when I click the button
var users = [{
nome: 'Diego',
idade: 23,
sexo: 'M',
},
{
nome: 'Gabriela',
idade: 18,
sexo: 'F',
},
{
nome: 'José',
idade: 30,
sexo: 'M',
},
{
nome: 'Maria',
idade: 27,
sexo: 'F'
},
{
nome: 'Amanda',
idade: 26,
sexo: 'F'
}
];
function list() {
// Cria a lista do elemento
var listElement = document.createElement("ul");
for (let value of users) {
sexo = value.sexo;
switch (sexo) {
case "F":
value.sexo = "Feminino";
users = value.nome + " é " + value.sexo + " e possui " + value.idade + " anos."
break;
case "M":
value.sexo = "Masculino";
users = value.nome + " é " + value.sexo + " e possui " + value.idade + " anos."
break;
}
//Cria a lista de item
var itemElement = document.createElement('li');
//Define seu conteudo
itemElement.appendChild(document.createTextNode(users));
//Adiciona um item a lista
listElement.appendChild(itemElement);
}
return listElement;
}
function byAge(a, b) {
return a.idade - b.idade;
}
//console.log(users.sort(byAge));
// Add the contents of options[0] to #foo:
document.querySelector('#app').appendChild(list(users));
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet" />
<div class="container">
<div id="app"></div>
<button class="btn btn-info" onClick="byName()">Ordenar por nome</button>
<button class="btn btn-info" onClick="byAge()">Ordenar por idade</button>
<button class="btn btn-info" onClick="">Exibir apenas homens</button>
<button class="btn btn-info" onClick="">Exibir apenas mulheres</button>
<button class="btn btn-info" onClick="">Exibir todos</button>
</div>