DS : sujet 2020
Exercice n1
Soit la classe BD :
class BD {
constructor(villes) {
this.villes = villes;
}
find(query, callback) {
callback(-- ? -- )
}
}
Création de trois villes :
villes = new BD([{ ville: "vincennes", h: 2 }
, { ville: "paris", h: 2 }
, { ville: "roubais", h: 1 }]);
Modifications : Les villes avec h=2 passe à h=30
villes.find({ h: 2 }, function (villes) {
for (let ville of villes) {
ville["h"] = 30;
}
});
Modification : La propriété capitale = true pour la ville de Paris
villes.find({ ville: "paris" }, function (villes) {
for (let ville of villes) {
ville["capitale"] = true;
}
});
Résultat :
villes = [{ ville: "vincennes", "h": 30 }
, { ville: "paris", "h": 30, "capitale": true }
, { ville: "roubais", "h": 1 }]}
💢 Question :
Compléter le code -- ? -- pour filtrer les arguments du callback.
Aide : for in permet de boucler sur les clefs d'un objet.
let obj = { a: 1, b: 2 };
for (let prop in obj) {
console.log(`${prop} = ${obj[prop]}`); // a = 1 b = 2
}