Pages

Trouvez une structure avec 10 questions !

Obligatoire !

Trouvez ou construisez une structure d’objets contenant elle‑même des objets, afin de vous entraîner à utiliser les méthodes fonctionnelles de JavaScript.

Autrement dit : Créez un jeu de données riche, avec des objets imbriqués, pour pouvoir pratiquer les méthodes modernes de manipulation de tableaux.


Voici un exemple : pizzas

PizzasJS 

const pizzas = [

    { name:"queen", ingredients: ["🐷","🍄","🍅","🧀"] },

    { name: "cheese", ingredients: ["🧀", "🍅"]},

    { name: "oriental", ingredients: ["🍅","🐑","🍄","🌶"]},

    { name: "royal", ingredients: ["🍅","🌵"]},

  ];


🍕Questions ?

Trouvez les pizzas avec du 🧀

Trouvez les pizzas avec du 🍅

Trouvez les pizzas avec un ingrédient quelconque

Trouvez les pizzas avec au moins un ingrédient parmi une liste

Trouvez les pizzas avec tous les ingrédients d'une liste

Trouvez les pizzas sans viande

Trouvez les pizzas avec viande

Ajoutez pour chaque pizza le type (notVeggie🐮ou veggie ☘️)

Trouvez l'ensemble des ingrédients  "🐷","🍄","🍅","🧀","🐑","🌶","🌵"

Trouvez pour chaque ingrédient le nombre de pizzas l'utilisant ,"🧀":2 …

Trouvez pour chaque ingrédient la liste des pizzas l'utilisant

Ajoutez le prix de chaque pizza

prices = new Map([ ["🍅", 1], ["🐷", 2], ["🌶",2], ["🍄", 5], ["🧀", 5], ["🐑", 2], ["🌵", 10]]);


🛟Voici un autre jeu de données ! 

chaque pizza contient :
un tableau ingredients [ ] 
un objet nutrition { } 

const pizzas = [
  {
    name: "Margherita",
    price: 8,
    ingredients: ["🍅", "🧀", "🌿"],
    nutrition: { calories: 850, vegan: false }
  },
  {
    name: "Veggie Deluxe",
    price: 10,
    ingredients: ["🍅", "🧀", "🌽", "🥦", "🫑"],
    nutrition: { calories: 900, vegan: false }
  },
  {
    name: "Cactus Special",
    price: 12,
    ingredients: ["🌵", "🧀", "🌶️"],
    nutrition: { calories: 780, vegan: false }
  },
  {
    name: "Green Vegan",
    price: 11,
    ingredients: ["🥦", "🫑", "🌽", "🌿"],
    nutrition: { calories: 700, vegan: true }
  }
];


Autres exemples

const films = [
  {
    title: "Inception",
    year: 2010,
    genre: "Sci-Fi",
    actors: [
      {
        name: "Leonardo DiCaprio",
        role: "Cobb",
        awards: ["Oscar 🏆", "Golden Globe 🌟"]
      },
      {
        name: "Joseph Gordon-Levitt",
        role: "Arthur",
        awards: []
      }
    ]
  },
  {
    title: "The Dark Knight",
    year: 2008,
    genre: "Action",
    actors: [
      {
        name: "Christian Bale",
        role: "Batman",
        awards: ["Saturn Award 🪐"]
      },
      {
        name: "Heath Ledger",
        role: "Joker",
        awards: ["Oscar 🏆", "BAFTA 🎭", "Golden Globe 🌟"]
      }
    ]
  },
  {
    title: "Interstellar",
    year: 2014,
    genre: "Sci-Fi",
    actors: [
      {
        name: "Matthew McConaughey",
        role: "Cooper",
        awards: ["Oscar 🏆"]
      },
      {
        name: "Anne Hathaway",
        role: "Brand",
        awards: ["Oscar 🏆", "Emmy 📺"]
      }
    ]
  }
];

exemples de code : 

const oscarWinners = films .flatMap(f => f.actors) .filter(a => a.awards.includes("Oscar 🏆"));