dupontL3
On dispose d'une BD (un tableau de pizzas) et d'une carte (Map). Chaque élément de la carte (Map) associe un emoji représentant un ingrédient à son prix.
pizzas = [{ name:"queen", toppings: ["🐷","🍄","🍅","🧀"], crust:"" }, … ] prices = new Map([ 🍅", 1], …]
1) Donnez le code pour afficher un tableau.
Utilisez
Object.keys
map
join
2) Donnez le code pour obtenir les pizzas à pâte épaisse pizzasWithYeastedCrust
3) Donnez uniquement le code de la transformation qui permettrait d'afficher les prix des pizzas.
Utilisez
reduce
map
get
…
4) Donnez l'écriture de l'événement sur le container des cartes pour rendre visible ou pas les informations d'une pizza.
const cardTemplate = ` <div class="col card" g-3> <div class="card-title"> <h5>Pizza {{name}}</h5> </div> <div class="card-body d-none"> <p>Crust: {{crust}} </p> <p>Toppings: {{toppings}}</p> </div> </div> `; | container.addEventListener("click", function (event) { if (event.target.closest(".card")) { cardBody.classList.toggle("d-none"); } }); |
Donnez le code pour avoir un bouton qui compte le nombre de clics !
Donnez l'équivalent de la méthode closest. La méthode closest() traverse l'élément courant et ses parents (en direction de la racine) jusqu'à trouver un nœud qui correspond aux sélecteurs exprimés par la chaîne de caractères passée en argument. Elle renverra l'élément ou l'ancêtre le plus proche qui correspond. Si aucun élément ne correspond, la méthode renvoie null.
function closest(element, selector). Utilisez element.matches(selector). La méthode element.matches() renvoie true lorsque l'élément peut être sélectionné par le sélecteur défini par la chaîne passée en paramètre ; sinon, elle renvoie false.
Complétez le code pour afficher les pizzas en promo
const temp = pizzas.map((pizza) => ({ ...pizza, price: value })); const groups = Object.__0__(temp, (pizza) => __1__ ); const transformation = Object.__2__(groups).map(([key, value]) => ({Type:__3__, pizzas: __4__, })); | 0: 1 : 2 : 3 : 4 : |
Mettre en place en react une application qui permet de tester le résultat d'un calcul de nombre aléatoire et ajouter 1 au score si le résultat est correct.
Mathis "Obstinate" Beauville, a présenté l'alternance en miage. Il nous a parlé d'un sujet test que peuvent demander un employeur pour tester nos connaissance : la TODO list
Afficher une base de données
Préparation à l'examen !
cliquez sur la figure |
https://docs.google.com/document/d/1PlQV0kN9rHzO894GzqNlterJT_rYWEX9rehrBwDtQ7c/edit?usp=sharing
Base de Données !
Nous disposons de deux structures : un tableau de films et d'un Map.
Tableau de films :
Il s'agit d'un tableau d'objets où chaque objet représente un film.
Chaque objet film contient les propriétés suivantes :
titre : Le titre du film (chaîne de caractères).
année : L'année de sortie du film (nombre).
director : Le réalisateur du film (chaîne de caractères).
actors : Tableau des acteurs ayant joué dans le film (tableau de chaînes).
Exemple
{
title: "Inception",
year: 2010,
director: "Christopher Nolan",
actors: ["Leonardo DiCaprio", "Elliot Page", "Tom Hardy"]
}
const films = [
{
title: "Inception",
year: 2010,
director: "Christopher Nolan",
actors: ["Leonardo DiCaprio", "Elliot Page", "Tom Hardy"]
},
{
title: "The Dark Knight",
year: 2008,
director: "Christopher Nolan",
actors: ["Christian Bale", "Heath Ledger", "Michael Caine"]
},
{
title: "Titanic",
year: 1997,
director: "James Cameron",
actors: ["Leonardo DiCaprio", "Kate Winslet", "Billy Zane", "Kathy Bates"]
},
{
title: "Avatar",
year: 2009,
director: "James Cameron",
actors: ["Sam Worthington", "Zoe Saldana", "Sigourney Weaver"]
},
{
title: "Mad Max: Fury Road",
year: 2015,
director: "George Miller",
actors: ["Tom Hardy", "Charlize Theron"]
}
];
console.log(films);
actorSalaries Map :
Il s'agit d'un objet Map où chaque entrée représente un acteur et son salaire.
La clé est le nom de l'acteur (chaîne de caractères).
La valeur est le salaire de l'acteur en milliers de dollars (nombre).
Exemple :
["Leonardo DiCaprio", 200000]
const actorSalaries = new Map([
["Leonardo DiCaprio", 200000],
["Elliot Page", 1000],
["Tom Hardy", 15000],
["Christian Bale", 10000],
["Heath Ledger", 5000],
["Michael Caine", 2000],
["Kate Winslet", 8000],
["Billy Zane", 1000],
["Kathy Bates", 3000],
["Sam Worthington", 5000],
["Zoe Saldana", 6000],
["Sigourney Weaver", 7000],
["Charlize Theron", 10000]
]);
console.log(actorSalaries);