62 lines
1.7 KiB
JavaScript
62 lines
1.7 KiB
JavaScript
const equipe = [
|
|
{ nom: "Mélissa", job: "Stagiaire", partie: "Page contact" },
|
|
{ nom: "Guillaume", job: "Stagiaire", partie: "Page services" },
|
|
{ nom: "Matthieu", job: "Tuteur", partie: "Relecture" },
|
|
];
|
|
|
|
for (const membre of equipe) {
|
|
console.log(membre.nom + " — " + membre.job + " — " + membre.partie);
|
|
}
|
|
|
|
function creerLigne(membre) {
|
|
const tr = document.createElement("tr");
|
|
|
|
const tdNom = document.createElement("td");
|
|
tdNom.textContent = membre.nom;
|
|
|
|
const tdJob = document.createElement("td");
|
|
tdJob.textContent = membre.job;
|
|
|
|
const tdPartie = document.createElement("td");
|
|
tdPartie.textContent = membre.partie;
|
|
|
|
tr.append(tdNom, tdJob, tdPartie);
|
|
return tr;
|
|
}
|
|
|
|
const corps = document.getElementById("corps_equipe");
|
|
|
|
function afficherEquipe(liste) {
|
|
corps.innerHTML = "";
|
|
for (const membre of liste) {
|
|
corps.append(creerLigne(membre));
|
|
}
|
|
}
|
|
afficherEquipe(equipe);
|
|
|
|
document.getElementById("nb_membres").textContent = equipe.length;
|
|
|
|
const champRecherche = document.getElementById("recherche");
|
|
|
|
champRecherche.addEventListener("input", function () {
|
|
const motCherche = champRecherche.value.toLowerCase();
|
|
|
|
// on garde seulement les membres dont le nom contient le texte tapé
|
|
const resultats = equipe.filter(function (membre) {
|
|
return membre.nom.toLowerCase().includes(motCherche);
|
|
});
|
|
|
|
afficherEquipe(resultats); // on ré-affiche, mais filtré
|
|
});
|
|
|
|
document.getElementById("trier").addEventListener("click", function () {
|
|
const triee = [...equipe].sort(function (a, b) {
|
|
return a.nom.localeCompare(b.nom);
|
|
});
|
|
afficherEquipe(triee);
|
|
});
|
|
|
|
const array = equipe;
|
|
const mapped = array.map((x) => x.nom);
|
|
console.log(mapped);
|