Rappels destructuration sur les objets
const obj = { name:"dupont" }
const copyAdr = obj;
const copyVal = {...obj};
copyAdr.name = "cool"
console.log(obj,copyAdr,copyVal)
Equivalent pythontutor (l'opérateur ... est remplacé par Object.Assign)
Rappels destructuration sur les tableaux
const t= [1,2];
const copyAdr = t;
const copyVal = [...t];
copyAdr[0] = "cool"
copyVal.push = "new";
console.log(t,copyAdr,copyVal)
Filtrer les articles par catégorie : Par exemple, sélectionner tous les fruits :
⛔Code avec for-i à ne plus utiliser
let fruits = [];
for (let i = 0; i < basket.length; i++) {
if (basket[i].category === "fruit") {
fruits.push(basket[i]);
}
}
console.log(fruits);
🚫Code avec destructuration donné par GPT : à ne pas utiliser pour l'instant
let fruits = [];for (const { category, ...rest } of basket) {if (category === "fruit") {fruits.push({ category, ...rest }); // Ajoute l'objet correspondant à la catégorie "fruit"}}
✅ Il est préférable d'écrire le code suivant sans destructuration
let fruits = [];
for (const item of basket) { if (item.category === "fruit") { fruits.push({ ...item }); // Ajoute l'objet correspondant à la catégorie "fruit" }}
🆘 faire un dessin du résultat !
Code équivalent dans pythontutor : code
👍code
Comparez le code précédent qui copie les fruits dans une nouvelle structure avec une recopie de l'adresse !
let fruits = [];
for (const item of basket) { if (item.category === "fruit") { fruits.push(item); // Ajoute l'objet correspondant à la catégorie "fruit" }}
👍code