Pour plus d'information, vous pouvez vous référer à cette page: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Set
Les Set sont des ensembles, c'est à dire qu'on y stocke un ensemble d'objet. En revanche, chaque objet ne peut y être qu'en un seul exemplaire.
const monSetSansValeur = new Set();
const monSetAvecValeur = new Set([ valeur1, valeur2, valeur3]);
Si une variable monSet est un Set:
monSet.add( valeurAAjouter);
Les valeurs peuvent être de types ou des objets différents dans un même Set: une String, un Number, etc..
Voici un exemple de Set avec deux cours stockés dans la variable coursProg
const coursProg= new Set();
coursProg.add("Langage du web");
coursProg.add( "Algorithmique");
On aurait pu écrire:
const coursProg= new Set(["Langage du web", "Algorithmique"]);
Voici un exemple de Set dans la variable prenoms:
const prenoms= new Set();
prenoms.add("Lauren");
prenom.add( "Jane");
prenoms.add("Lee");
On aurait pu écrire:
const prenoms= new Set(["Lauren", "Jane", "Lee"]);
const menu=new Set();
menu.add("Raclette");
menu.add("Soupe de potiron");
menu.add("Pates bolognese");
menu.add("Salade de tomates");
menu.add("Crème brulée");
et :
const menu=new Set( [ "Raclette", "Soupe de potiron", "Pates bolognese", "Salade de tomates", "Crème brulée"];
const trajet=new Set();
trajet.add("Campus");
trajet.add("Supermarché");
trajet.add("Mer");
trajet.add(23.6);
trajet.add(0.3);
trajet.add(1.2);
ou
const trajet=new Set(["Campus", "Supermarché", "Mer", 23.6, 0.3, 1.2] );
On utiliser une boucle for avec une variable (par exemple qui s'appelle element). Cet élement contient successivement toutes les valeurs des valeurs de l'ensemble Set. Par exemple pour un Set dans une variable monSet:
for (let element of monSet)
{
let monElementChaqueTour= element;
}
Pour afficher tous les cours d'un set coursProg les uns après les autres:
const coursProg= new Set();
coursProg.add("Langage du web");
coursProg.add( "Algorithmique");
for (let element of coursProg)
{
alert(element);
}
Pour affcher tous les prénoms du Set prenoms les uns après les autres:
const prenoms= new Set();
prenoms.add("Lauren");
prenom.add( "Jane");
prenoms.add("Lee");
for (let element of prenoms)
{
alert(element);
}
Si une variable monSet est un Set :
for (let element of monSet)
{
alert(element);
}
let monSetComplet="";
for (let element of monSet) {
monSetComplet= element+" ";
}
alert(monSetComplet);
const menu=new Set();
menu.add("Raclette");
menu.add("Soupe de potiron");
menu.add("Pates bolognese");
menu.add("Salade de tomates");
menu.add("Crème brulée");
for (let element of menu)
{
alert( element);
}
const menu=new Set();
menu.add("Raclette");
menu.add("Soupe de potiron");
menu.add("Pates bolognese");
menu.add("Salade de tomates");
menu.add("Crème brulée");
let monSetComplet="";
for (let element of menu) {
monSetComplet= element+" ";
}
alert(monSetComplet);
Comment vérifier qu'une variable maVariable est un nom?
isNaN( maVariable) == false
!isNaN( maVariable) == true
const trajet=new Set();
trajet.add("Campus");
trajet.add("Supermarché");
trajet.add("Mer");
trajet.add(23.6);
trajet.add(0.3);
trajet.add(1.2);
let addition=0;
for (let element of trajet)
{
if ( !isNaN( element) )
{
addition+=element;
}
}
alert(addition);
Pour ajouter un élement à la fin d'une variable monSet qui est un Set, on utilise add tel que vu précédemment:
monSet.add( valeur);
Pour supprimer un élement element d'un set monSet:
monSet.delete(element);
Pour "vider"un set monSet de tous ses éléments:
monSet.clear();
const menu=new Map();
menu.set("Raclette", "13,50 euros");
menu.set("Soupe de potiron", "8 euros");
menu.set("Pates bolognese", "11 euros");
menu.set("Salade de tomates", "7 euros");
menu.set("Crème brulée", "6,50 euros");
menu.set("Omelette", "5 euros");
const menu=new Map();
menu.set("Raclette", "13,50 euros");
menu.set("Soupe de potiron", "8 euros");
menu.set("Pates bolognese", "11 euros");
menu.set("Salade de tomates", "7 euros");
menu.set("Crème brulée", "6,50 euros");
menu.delete("Raclette");
const distance=new Map();
distance.set("Campus", 25);
distance.set("Supermarché", 0.3);
distance.set("Mer",1.2);
distance.clear();
distance.set("Travail", 25);
distance.set("Point de Vue", 0.3);
distance.set("Footing",1.2);
Pour modifier des valeurs, il suffit de faire un set avec une clef existante. Par exemple, pour une Map uneMap qui a une clef clefNumeroUn, on fera :
uneMap.set("clefNumeroUn", "nouvelle valeur de la clef numéro1");
Pour modifier la valeur du prénom avec le nom "Thévin":
const prenoms= new Map();
prenoms.set("Thevin", "Lauren"); //valeur 1: Lauren
prenoms.set("Doe", "Jane");
prenoms.set("Smith", "Lee");
prenoms.set("Thevin", "Simone"); //valeur 2: Simone
const menu=new Map();
menu.set("Raclette", "13,50 euros");
menu.set("Soupe de potiron", "8 euros");
menu.set("Pates bolognese", "11 euros");
menu.set("Salade de tomates", "7 euros");
menu.set("Crème brulée", "6,50 euros");
menu.set("Pates bolognese", "en rupture");
let etudiants= [ ["Dupont", "Martine" ], ["Doe", "Jane" ], ["Smith", "Williams" ]]
etudiants[0][0]=["Nouveau Nom seulement"];
etudiants[2][1]=["Nouveau Prénom Nom seulement"];
etudiants[1]=["Nouveau Nom", "Nouveau prénom"];
Techniquement, on ne modifie pas la clef. Par exemple, pour modifier (clef1, valeur) par (clef2, valeur) il faut : ajouter avec un set une nouvelle association (clef2, valeur), puis supprimer (clef1, valeur).
Pour modifier des valeurs, il suffit de faire un set avec une clef existante. Par exemple, pour une Map uneMap qui a une clef clefNumeroUn, on fera :
uneMap.set("clef1", "valeur de la clef numéro1");
uneMap.set("clef2", uneMap.get("clef1");
uneMap.delete("clef1");
Pour modifier la valeur du prénom avec le nom "Thévin":
const prenoms= new Map();
prenoms.set("Thevin", "Lauren"); //clef 1: Thevin
prenoms.set("Doe", "Jane");
prenoms.set("Smith", "Lee");
prenoms.set("Niveht", prenoms.get("Thevin"); // j'insère une association avec une nouvelle clef et la même valeur
prenoms.delete("Thevin"); // j'efface l'association précédente
Pour cloner une map, il suffit d'utiliser new Map( ) avec la Map à cloner en argument.
Imaginons une Map maMap,
const cloneDeMaMap = new Map(maMap);
Pour verifier si une Map uneMap a une clef clefNumeroUn, on fera :
uneMap.has(clefNumeroUn); //renvoie true si cette clef existe dans cette Map, et renvoie false sinon