Pages

PROJET / Parcours de l'arbre

See the Pen parcoursGenator by dupont (@dupontcodepen) on CodePen.
Gi


Projet DOM

🪛Ecrire le code pour parcourir l'ensemble des éléments d'une page.

🚀En action

Injecter le code dans la console d'une page HTML prise au hasard.

allTag=(a=>{let b=[],c={};return _explore=(a=>{for(let c of a.children)b.push(c.nodeName),_explore(c)}),_explore(a),_getWordCnt=(a=>{return a.reduce(function(a,b){return a[b]=a[b]+1||1,a},[])}),c=_getWordCnt(b),_sort=(a=>{let b=[],c=Object.keys(a).sort((b,c)=>a[c]-a[b]);for(var d of c)b[d]=a[d];return b}),_sort(c)});let a=allTag(document.body);for(var b in a){a.hasOwnProperty(b)&&console.log(`la balise ${b} apparaît ${a[b]} fois `)};












Cours 1 : template String - Destructuration

 

Objectif: destructuring and co

 const data = [

  {
    id: 1,
    name: "John",
    lastName: "Doe",
    adress: "5th Avenue",
  },
  {
    id: 2,
    name: "Jane",
    lastName: "Doe",
    adress: "5th Avenue",
  },
  {
    id: 3,
    name: "Alice",
    lastName: "Doe",
    adress: "5th Avenue",
  },
  {
    id: 4,
    name: "Bob",
    lastName: "Doe",
    adress: "5th Avenue",
  },
];


const upercaseName = (data) => {
  return data.map((item) => {
    return {
      ...item,
      name: item.name.toUpperCase()
    }
  })
}

console.log(upercaseName(data))

Site

 



LE DOM : objectif

 


Cours : https://dupontdom.blogspot.com/

PIzzas !


PizzasJS 

const pizzas = [

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

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

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

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

];


  1. Trouvez les pizzas avec du 🧀
  2. Trouvez les pizzas avec du 🍅
  3. Trouvez les pizzas avec un ingrédient quelconque
  4. Trouvez les pizzas avec au moins un ingrédient parmi une liste
  5. Trouvez les pizzas avec tous les ingrédients d'une liste
  6. Trouvez les pizzas sans viande
  7. Trouvez les pizzas avec viande
  8. Ajoutez pour chaque pizza le type (🐮ou ☘️)
  9. Trouvez l'ensemble des ingrédients "🐷","🍄","🍅","🧀","🐑","🌶","🌵"
  10. Trouvez pour chaque ingrédient le nombre de pizzas l'utilisant ,"🧀":2 …
  11. Trouvez pour chaque ingrédient la liste des pizzas l'utilisant
  12. Ajoutez le prix de chaque pizza prices = new Map([ ["🍅", 1], ["🐷", 2], ["🌶",2], ["🍄", 5], ["🧀", 5], ["🐑", 2], ["🌵", 10]]);

JS à fond la forme

const languageSkills = [
  {
    language: "Spanish",
    skill: "Professional Proficiency",
  },
  {
    language: "English",
    skill: "Professional Working Proficiency",
  },
  {
    language: "German",
    skill: "Professional Proficiency",
  },
];
const output = languageSkills.reduce((map, { language, skill }) => {
  if (map.has(skill)) map.get(skill).push(language);
  else map.set(skill, [language]);
  return map;
}, new Map());

console.log(...output);

 Que vaut output ? 

IA : Github copilot

 

IA dans votre editeur: Copilot


🆘Aide à l'écriture de code 

Tapez 
function findLowerValue(tab, callback) {

🚀Copilot comprend et vous propose le code !



🥇Mieux encore, copilot  propose des tests ! 

🥇Code généré par copilot ! 
const tab = [4, 6, 1, 3, 2, 5];
const lowerValue = findLowerValue(tab, (value) => value);
console.log(lowerValue); // 1

const lowerValue2 = findLowerValue(tab, (value) => -value);
console.log(lowerValue2); // 6

Voici un code généré étape par étape par copilot ! 
C'est le pilot qui doit guider le copilot.

function calculator(str){
  // regexp to match the numbers and operators
  const regexp = /(\d+)(\+|\-|\*|\/)(\d+)/;
  //use match method to get the numbers and operators
  const match = str.match(regexp);
  //use parseInt to convert the string to number
  const num1 = parseInt(match[1]);
  const num2 = parseInt(match[3]);

  //use switch to do the calculation
  switch(match[2]){
    case '+':
      return num1 + num2;
    case '-':
      return num1 - num2;
    case '*':
      return num1 * num2;
    case '/':
      if(num2 === 0){
        return 'Cannot divide by 0';
      }
      return num1 / num2;
  }
}

// given test cases
console.log(calculator('1+1')); // 2

🥇Pythontutor



🆒Try yourself

Année 24-25

Vers reactJS !



Solutions examen

🆘lecture

 

En action

See the Pen Solution examen L2 2023 by dupont (@dupontcodepen) on CodePen.