Lecture

Analysez ce code !

class BD {
constructor(db) {
    this.db = db;
  }

  /**
   * Finds items based on a query given as a JS object
   *
   * @param {object} query The query to match against (i.e. {name: 'paris'})
   * @param {function} callback   The callback to fire when the query has
   * completed running
   **/
  find(query, callback) {
    callback(
      this.db.filter(function (city) {
        for (const [key, value] of Object.entries(query)) {
          if (city[key] !== value) {
            return false;
          }
        }
        return true;
      })
    );
  }
}

// cities
const db = new BD([
  { name: "Vincennes", population: 40000 },
  { name: "Paris", population: 2161000 },
  { name: "roubais", population: 45000 },
]);
//console.log(s.db);

db.find({ population: 45000 }, function (cities) {
  for (let city of cities) {
    city["population"] = 50000;
  }
});

db.find({ name: "Paris" }, function (cities) {
  for (let city of cities) {
    city["capital"] = true;
  }
});

console.log(db);

db.find({ name: "Paris" }, function (cities) {
  const updatedCities = cities.map((city) => ({ ...city, capital: true }));
  console.log(updatedCities); // Only updated copies, db remains unchanged
});

Les modules

Lecture : https://v8.dev/features/modules  

Slides


Cours

TD


Projet

https://github.com/dupontdenis/SFP-Lib.git

Vidéo

Projet


📖Les soldes

DS

 // //dessinez le résultat en mémoire

const people = [
  {
    firstName: "John",
    lastName: "Doe",
    mark: 14,
    address: {
      street: "Champs Elysées",
      city: "Paris",
    },
  },
  {
    firstName: "Alice",
    lastName: "Martin",
    mark: 18,
    address: {
      street: "Rue de Rivoli",
      city: "Paris",
    },
  },
];

const updatedPeople = people.map(
  (person) =>
    person.firstName === "John"
      ? { ...person, mark: 16 }
      : person
);

console.log(updatedPeople);