diff options
| author | julieng <julien.gattelier@gmail.com> | 2021-08-03 08:03:23 +0200 |
|---|---|---|
| committer | SphinxKnight <SphinxKnight@users.noreply.github.com> | 2021-09-03 08:08:25 +0200 |
| commit | bf8e099b9c8b3c60d60b3712b4fc97b052c39887 (patch) | |
| tree | c101746d082c9581c94f5937519c7d0e2f4af8cb /files/fr/web/javascript/reference/global_objects/set | |
| parent | 844f5103992238c0c23203286dad16a466e89c97 (diff) | |
| download | translated-content-bf8e099b9c8b3c60d60b3712b4fc97b052c39887.tar.gz translated-content-bf8e099b9c8b3c60d60b3712b4fc97b052c39887.tar.bz2 translated-content-bf8e099b9c8b3c60d60b3712b4fc97b052c39887.zip | |
convert content to md
Diffstat (limited to 'files/fr/web/javascript/reference/global_objects/set')
11 files changed, 399 insertions, 582 deletions
diff --git a/files/fr/web/javascript/reference/global_objects/set/@@iterator/index.md b/files/fr/web/javascript/reference/global_objects/set/@@iterator/index.md index ee03e5c7df..d420a2b5df 100644 --- a/files/fr/web/javascript/reference/global_objects/set/@@iterator/index.md +++ b/files/fr/web/javascript/reference/global_objects/set/@@iterator/index.md @@ -12,25 +12,26 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Set/@@iterator original_slug: Web/JavaScript/Reference/Objets_globaux/Set/@@iterator --- -<div>{{JSRef}}</div> +{{JSRef}} -<p>La valeur initiale de la propriété <code><strong>@@iterator</strong></code> est le même objet fonction que la valeur initiale de la propriété {{jsxref("Set.prototype.values()", "Set.prototype.values")}}.</p> +La valeur initiale de la propriété **`@@iterator`** est le même objet fonction que la valeur initiale de la propriété {{jsxref("Set.prototype.values()", "Set.prototype.values")}}. -<div>{{EmbedInteractiveExample("pages/js/set-prototype-@@iterator.html")}}</div> +{{EmbedInteractiveExample("pages/js/set-prototype-@@iterator.html")}} -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="syntaxbox"><var>monSet</var>[Symbol.iterator]</pre> + monSet[Symbol.iterator] -<h3 id="Valeur_de_retour">Valeur de retour</h3> +### Valeur de retour -<p>La fonction associée au symbole <code>@@iterator</code> de l'objet. Par défaut, c'est la fonction {{jsxref("Set.prototype.values()","values()")}}.</p> +La fonction associée au symbole `@@iterator` de l'objet. Par défaut, c'est la fonction {{jsxref("Set.prototype.values()","values()")}}. -<h2 id="Exemples">Exemples</h2> +## Exemples -<h3 id="Utiliser_iterator()">Utiliser <code>[@@iterator]()</code></h3> +### Utiliser `[@@iterator]()` -<pre class="brush:js">const monSet = new Set(); +```js +const monSet = new Set(); monSet.add("0"); monSet.add(1); monSet.add({}); @@ -40,11 +41,12 @@ const setIter = monSet[Symbol.iterator](); console.log(setIter.next().value); // "0" console.log(setIter.next().value); // 1 console.log(setIter.next().value); // {} -</pre> +``` -<h3 id="Utiliser_iterator()_avec_une_boucle_for..of">Utiliser <code>[@@iterator]()</code> avec une boucle <code>for..of</code></h3> +### Utiliser `[@@iterator]()` avec une boucle `for..of` -<pre class="brush:js">const monSet= new Set(); +```js +const monSet= new Set(); monSet.add("0"); monSet.add(1); monSet.add({}); @@ -52,38 +54,21 @@ monSet.add({}); for (const v of monSet) { console.log(v); } -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES2015', '#sec-set.prototype-@@iterator', 'Set.prototype[@@iterator]')}}</td> - <td>{{Spec2('ES2015')}}</td> - <td>Définition initiale.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-set.prototype-@@iterator', 'Set.prototype[@@iterator]')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("javascript.builtins.Set.@@iterator")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("Set.prototype.entries()")}}</li> - <li>{{jsxref("Set.prototype.values","Set.prototype.keys()")}}</li> - <li>{{jsxref("Set.prototype.values()")}}</li> -</ul> +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-set.prototype-@@iterator', 'Set.prototype[@@iterator]')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-set.prototype-@@iterator', 'Set.prototype[@@iterator]')}} | {{Spec2('ESDraft')}} | | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Set.@@iterator")}} + +## Voir aussi + +- {{jsxref("Set.prototype.entries()")}} +- {{jsxref("Set.prototype.values","Set.prototype.keys()")}} +- {{jsxref("Set.prototype.values()")}} diff --git a/files/fr/web/javascript/reference/global_objects/set/@@species/index.md b/files/fr/web/javascript/reference/global_objects/set/@@species/index.md index 75ca5ccc31..aff8a084ae 100644 --- a/files/fr/web/javascript/reference/global_objects/set/@@species/index.md +++ b/files/fr/web/javascript/reference/global_objects/set/@@species/index.md @@ -10,62 +10,48 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Set/@@species original_slug: Web/JavaScript/Reference/Objets_globaux/Set/@@species --- -<div>{{JSRef}}</div> +{{JSRef}} -<p><code><strong>Set[@@species]</strong></code> renvoie le constructeur <code>Set</code>.</p> +**`Set[@@species]`** renvoie le constructeur `Set`. -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="syntaxbox">Set[Symbol.species] -</pre> + Set[Symbol.species] -<h2 id="Description">Description</h2> +## Description -<p>L'accesseur <code>species</code> renvoie le constructeur par défaut pour les objets <code>Set</code>. Les constructeurs pour les classes filles peuvent surcharger cette propriété afin de modifier le constructeur utilisé lors de l'affectation.</p> +L'accesseur `species` renvoie le constructeur par défaut pour les objets `Set`. Les constructeurs pour les classes filles peuvent surcharger cette propriété afin de modifier le constructeur utilisé lors de l'affectation. -<h2 id="Exemples">Exemples</h2> +## Exemples -<p>La propriété <code>species</code> renvoie la fonction utilisée comme constructeur par défaut, dans le cas des objets <code>Set</code>, c'est le constructeur <code>Set</code> :</p> +La propriété `species` renvoie la fonction utilisée comme constructeur par défaut, dans le cas des objets `Set`, c'est le constructeur `Set` : -<pre class="brush: js">Set[Symbol.species]; // function Set()</pre> +```js +Set[Symbol.species]; // function Set() +``` -<p>Pour les objets dérivés (par exemple une classe <code>MonSet</code> que vous auriez construite), la propriété species pour <code>MonSet</code> sera le constructeur <code>MonSet</code>. Cependant, si vous souhaitez surcharger ce comportement afin de renvoyer le constructeur <code>Set</code> dans les méthodes des classes dérivées, vous pourrez utiliser :</p> +Pour les objets dérivés (par exemple une classe `MonSet` que vous auriez construite), la propriété species pour `MonSet` sera le constructeur `MonSet`. Cependant, si vous souhaitez surcharger ce comportement afin de renvoyer le constructeur `Set` dans les méthodes des classes dérivées, vous pourrez utiliser : -<pre class="brush: js">class MonSet extends Set +```js +class MonSet extends Set // On surcharge la propriété species de MonSet // avec le constructeur Set de la classe parente static get [Symbol.species()]() { return Set;} -}</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES2015', '#sec-get-set-@@species', 'get Set [ @@species ]')}}</td> - <td>{{Spec2('ES2015')}}</td> - <td>Définition initiale.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-get-set-@@species', 'get Set [ @@species ]')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("javascript.builtins.Set.@@species")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("Set")}}</li> - <li>{{jsxref("Symbol.species")}}</li> -</ul> +} +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ---------------------------------------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-get-set-@@species', 'get Set [ @@species ]')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-get-set-@@species', 'get Set [ @@species ]')}} | {{Spec2('ESDraft')}} | | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Set.@@species")}} + +## Voir aussi + +- {{jsxref("Set")}} +- {{jsxref("Symbol.species")}} diff --git a/files/fr/web/javascript/reference/global_objects/set/add/index.md b/files/fr/web/javascript/reference/global_objects/set/add/index.md index 7b834fe40f..bdddb11403 100644 --- a/files/fr/web/javascript/reference/global_objects/set/add/index.md +++ b/files/fr/web/javascript/reference/global_objects/set/add/index.md @@ -11,68 +11,50 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Set/add original_slug: Web/JavaScript/Reference/Objets_globaux/Set/add --- -<div>{{JSRef}}</div> +{{JSRef}} -<p>La méthode <code><strong>add()</strong></code> permet d'ajouter un nouvel élément ayant une valeur donnée à un ensemble <code>Set</code>. Cette valeur sera ajoutée à la fin de l'objet <code>Set</code>.</p> +La méthode **`add()`** permet d'ajouter un nouvel élément ayant une valeur donnée à un ensemble `Set`. Cette valeur sera ajoutée à la fin de l'objet `Set`. -<div>{{EmbedInteractiveExample("pages/js/set-prototype-add.html")}}</div> +{{EmbedInteractiveExample("pages/js/set-prototype-add.html")}} -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="syntaxbox"><var>monSet</var>.add(<var>valeur</var>);</pre> + monSet.add(valeur); -<h3 id="Paramètres">Paramètres</h3> +### Paramètres -<dl> - <dt><code>valeur</code></dt> - <dd>Ce paramètre est obligatoire. La valeur de l'élément qu'on souhaite ajouter à l'objet <code>Set</code>.</dd> -</dl> +- `valeur` + - : Ce paramètre est obligatoire. La valeur de l'élément qu'on souhaite ajouter à l'objet `Set`. -<h3 id="Valeur_de_retour">Valeur de retour</h3> +### Valeur de retour -<p>L'objet <code>Set</code> (ce qui permet de chaîner une suite d'instructions utilisant cette méthode).</p> +L'objet `Set` (ce qui permet de chaîner une suite d'instructions utilisant cette méthode). -<h2 id="Exemples">Exemples</h2> +## Exemples -<pre class="brush: js">var monSet = new Set(); +```js +var monSet = new Set(); monSet.add(1); monSet.add(5).add("du texte"); // ajouts en chaîne console.log(monSet); // Set [1, 5, "du texte"] -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES2015', '#sec-set.prototype.add', 'Set.prototype.add')}}</td> - <td>{{Spec2('ES2015')}}</td> - <td>Définition initiale.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-set.prototype.add', 'Set.prototype.add')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("javascript.builtins.Set.add")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("Set")}}</li> - <li>{{jsxref("Set.prototype.delete()")}}</li> - <li>{{jsxref("Set.prototype.has()")}}</li> -</ul> +``` + +## Spécifications + +| Spécification | État | Commentaires | +| -------------------------------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-set.prototype.add', 'Set.prototype.add')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-set.prototype.add', 'Set.prototype.add')}} | {{Spec2('ESDraft')}} | | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Set.add")}} + +## Voir aussi + +- {{jsxref("Set")}} +- {{jsxref("Set.prototype.delete()")}} +- {{jsxref("Set.prototype.has()")}} diff --git a/files/fr/web/javascript/reference/global_objects/set/clear/index.md b/files/fr/web/javascript/reference/global_objects/set/clear/index.md index a82d07fca4..9a5be9a488 100644 --- a/files/fr/web/javascript/reference/global_objects/set/clear/index.md +++ b/files/fr/web/javascript/reference/global_objects/set/clear/index.md @@ -11,23 +11,24 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Set/clear original_slug: Web/JavaScript/Reference/Objets_globaux/Set/clear --- -<div>{{JSRef}}</div> +{{JSRef}} -<p>La méthode <code><strong>clear()</strong></code> permet de retirer tous les éléments d'un ensemble <code>Set</code>.</p> +La méthode **`clear()`** permet de retirer tous les éléments d'un ensemble `Set`. -<div>{{EmbedInteractiveExample("pages/js/set-prototype-clear.html")}}</div> +{{EmbedInteractiveExample("pages/js/set-prototype-clear.html")}} -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="syntaxbox"><var>monSet</var>.clear();</pre> + monSet.clear(); -<h3 id="Valeur_de_retour">Valeur de retour</h3> +### Valeur de retour -<p>{{jsxref("undefined")}}.</p> +{{jsxref("undefined")}}. -<h2 id="Exemples">Exemples</h2> +## Exemples -<pre class="brush: js">var monSet = new Set(); +```js +var monSet = new Set(); monSet.add(1); monSet.add("toto"); @@ -38,37 +39,20 @@ monSet.clear(); monSet.size; // 0 monSet.has("truc") // false -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES2015', '#sec-set.prototype.clear', 'Set.prototype.clear')}}</td> - <td>{{Spec2('ES2015')}}</td> - <td>Définition initiale.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-set.prototype.clear', 'Set.prototype.clear')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("javascript.builtins.Set.clear")}}</p> - -<h3 id="Voir_aussi">Voir aussi</h3> - -<ul> - <li>{{jsxref("Set")}}</li> - <li>{{jsxref("Set.prototype.delete()")}}</li> -</ul> +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ---------------------------------------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-set.prototype.clear', 'Set.prototype.clear')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-set.prototype.clear', 'Set.prototype.clear')}} | {{Spec2('ESDraft')}} | | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Set.clear")}} + +### Voir aussi + +- {{jsxref("Set")}} +- {{jsxref("Set.prototype.delete()")}} diff --git a/files/fr/web/javascript/reference/global_objects/set/delete/index.md b/files/fr/web/javascript/reference/global_objects/set/delete/index.md index 1e89d36e0c..f888bc831f 100644 --- a/files/fr/web/javascript/reference/global_objects/set/delete/index.md +++ b/files/fr/web/javascript/reference/global_objects/set/delete/index.md @@ -11,83 +11,67 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Set/delete original_slug: Web/JavaScript/Reference/Objets_globaux/Set/delete --- -<div>{{JSRef}}</div> +{{JSRef}} -<p>La méthode <code><strong>delete()</strong></code> permet de retirer un élément donné d'un objet <code>Set</code>.</p> +La méthode **`delete()`** permet de retirer un élément donné d'un objet `Set`. -<div>{{EmbedInteractiveExample("pages/js/set-prototype-delete.html")}}</div> +{{EmbedInteractiveExample("pages/js/set-prototype-delete.html")}} -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="syntaxbox"><var>monSet</var>.delete(<var>valeur</var>);</pre> + monSet.delete(valeur); -<h3 id="Paramètres">Paramètres</h3> +### Paramètres -<dl> - <dt><code>valeur</code></dt> - <dd>Ce paramètre est obligatoire. Il représente la valeur de l'élément qu'on souhaite retirer de l'objet <code>Set</code>.</dd> -</dl> +- `valeur` + - : Ce paramètre est obligatoire. Il représente la valeur de l'élément qu'on souhaite retirer de l'objet `Set`. -<h3 id="Valeur_de_retour">Valeur de retour</h3> +### Valeur de retour -<p><code>true</code> si un élément de l'objet <code>Set</code> a été retiré lors de l'opération, <code>false</code> sinon.</p> +`true` si un élément de l'objet `Set` a été retiré lors de l'opération, `false` sinon. -<h2 id="Exemples">Exemples</h2> +## Exemples -<h3 id="Utiliser_la_méthode_delete()">Utiliser la méthode <code>delete()</code></h3> +### Utiliser la méthode `delete()` -<pre class="brush: js">var monSet = new Set(); +```js +var monSet = new Set(); monSet.add("toto"); monSet.delete("truc"); // Renvoie false. Aucun élément "truc" n'a pu être supprimé. monSet.delete("toto"); // Renvoie true. L'élément a pu être supprimé. monSet.has("toto"); // Renvoie false. L'élément "toto" ne fait plus partie de l'ensemble. -</pre> +``` -<h3 id="Utiliser_delete()_avec_forEach()">Utiliser <code>delete()</code> avec <code>forEach()</code></h3> +### Utiliser `delete()` avec `forEach()` -<pre class="brush: js">var objetSet = new Set(); +```js +var objetSet = new Set(); objetSet.add({x: 10, y: 20}); // On ajoute un nouvel objet dans l'ensemble objetSet.add({x: 20, y: 30}); // On ajoute un nouvel objet dans l'ensemble // On supprime les points de l'ensemble pour lesquels // x est supérieur à 10 objetSet.forEach(function(point){ - if(point.x > 10){ + if(point.x > 10){ objetSet.delete(point); } -});</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES2015', '#sec-set.prototype.delete', 'Set.prototype.delete')}}</td> - <td>{{Spec2('ES2015')}}</td> - <td>Définition initiale.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-set.prototype.delete', 'Set.prototype.delete')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("javascript.builtins.Set.delete")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("Set")}}</li> - <li>{{jsxref("Set.prototype.clear()")}}</li> -</ul> +}); +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ---------------------------------------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-set.prototype.delete', 'Set.prototype.delete')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-set.prototype.delete', 'Set.prototype.delete')}} | {{Spec2('ESDraft')}} | | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Set.delete")}} + +## Voir aussi + +- {{jsxref("Set")}} +- {{jsxref("Set.prototype.clear()")}} diff --git a/files/fr/web/javascript/reference/global_objects/set/entries/index.md b/files/fr/web/javascript/reference/global_objects/set/entries/index.md index 2664c6e718..cbd34b24a2 100644 --- a/files/fr/web/javascript/reference/global_objects/set/entries/index.md +++ b/files/fr/web/javascript/reference/global_objects/set/entries/index.md @@ -12,23 +12,24 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Set/entries original_slug: Web/JavaScript/Reference/Objets_globaux/Set/entries --- -<div>{{JSRef}}</div> +{{JSRef}} -<p>La méthode <code><strong>entries()</strong></code> renvoie un nouvel objet <code><a href="/fr/docs/Web/JavaScript/Guide/iterateurs_et_generateurs#Itérateurs">Iterator</a></code> qui contient un tableau composé de <strong><code>[valeur, valeur]</code></strong> pour chaque élément de l'objet <code>Set</code>, dans leur ordre d'insertion. En raison de leur structure, les objets <code>Set</code> n'ont pas de clé (<code>key</code>), à la différence des objets <code>Map</code>. Pour garder une structure et une API sembables à celle d'un objet <code>Map</code>, chaque entrée (<em>entry</em>) aura la même valeur pour la <em>clé</em> (<em>key</em>) et pour la <em>valeur </em>(<em>value</em>), c'est pourquoi un tableau de<code> [valeur, valeur]</code> est renvoyé.</p> +La méthode **`entries()`** renvoie un nouvel objet [`Iterator`](/fr/docs/Web/JavaScript/Guide/iterateurs_et_generateurs#Itérateurs) qui contient un tableau composé de **`[valeur, valeur]`** pour chaque élément de l'objet `Set`, dans leur ordre d'insertion. En raison de leur structure, les objets `Set` n'ont pas de clé (`key`), à la différence des objets `Map`. Pour garder une structure et une API sembables à celle d'un objet `Map`, chaque entrée (_entry_) aura la même valeur pour la _clé_ (_key_) et pour la _valeur_ (_value_), c'est pourquoi un tableau de` [valeur, valeur]` est renvoyé. -<div>{{EmbedInteractiveExample("pages/js/set-prototype-entries.html")}}</div> +{{EmbedInteractiveExample("pages/js/set-prototype-entries.html")}} -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="syntaxbox"><var>monSet</var>.entries()</pre> + monSet.entries() -<h3 id="Valeur_de_retour">Valeur de retour</h3> +### Valeur de retour -<p>Un nouvel objet <code>Iterator</code> qui contient un tableau de tuples [<code>valeur, valeur</code>] pour chaque élément de l'ensemble, dans leur ordre d'insertion.</p> +Un nouvel objet `Iterator` qui contient un tableau de tuples \[`valeur, valeur`] pour chaque élément de l'ensemble, dans leur ordre d'insertion. -<h2 id="Exemples">Exemples</h2> +## Exemples -<pre class="brush:js">var monSet = new Set(); +```js +var monSet = new Set(); monSet.add("totobidule"); monSet.add(1); monSet.add("machin"); @@ -38,37 +39,20 @@ var setIter = monSet.entries(); console.log(setIter.next().value); // ["totobidule", "totobidule"] console.log(setIter.next().value); // [1, 1] console.log(setIter.next().value); // ["machin", "machin"] -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES2015', '#sec-set.prototype.entries', 'Set.prototype.entries')}}</td> - <td>{{Spec2('ES2015')}}</td> - <td>Définition initiale.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-set.prototype.entries', 'Set.prototype.entries')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td></td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("javascript.builtins.Set.entries")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("Set.prototype.values","Set.prototype.keys()")}}</li> - <li>{{jsxref("Set.prototype.values()")}}</li> -</ul> +``` + +## Spécifications + +| Spécification | État | Commentaires | +| -------------------------------------------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-set.prototype.entries', 'Set.prototype.entries')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-set.prototype.entries', 'Set.prototype.entries')}} | {{Spec2('ESDraft')}} | | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Set.entries")}} + +## Voir aussi + +- {{jsxref("Set.prototype.values","Set.prototype.keys()")}} +- {{jsxref("Set.prototype.values()")}} diff --git a/files/fr/web/javascript/reference/global_objects/set/foreach/index.md b/files/fr/web/javascript/reference/global_objects/set/foreach/index.md index 3db2526f8a..63d00d027f 100644 --- a/files/fr/web/javascript/reference/global_objects/set/foreach/index.md +++ b/files/fr/web/javascript/reference/global_objects/set/foreach/index.md @@ -11,61 +11,58 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Set/forEach original_slug: Web/JavaScript/Reference/Objets_globaux/Set/forEach --- -<div>{{JSRef}}</div> +{{JSRef}} -<p>La méthode <code><strong>forEach()</strong></code> permet d'exécuter une fonction donnée, une fois pour chaque valeur de l'ensemble <code>Set</code>. L'ordre appliqué est celui dans lequel les valeurs ont été ajoutées à l'ensemble.</p> +La méthode **`forEach()`** permet d'exécuter une fonction donnée, une fois pour chaque valeur de l'ensemble `Set`. L'ordre appliqué est celui dans lequel les valeurs ont été ajoutées à l'ensemble. -<div>{{EmbedInteractiveExample("pages/js/set-prototype-foreach.html")}}</div> +{{EmbedInteractiveExample("pages/js/set-prototype-foreach.html")}} -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="syntaxbox"><var>monSet</var>.forEach(<var>callback</var>[, <var>thisArg</var>])</pre> + monSet.forEach(callback[, thisArg]) -<h3 id="Valeur_de_retour">Valeur de retour</h3> +### Valeur de retour -<p>{{jsxref("undefined")}}.</p> +{{jsxref("undefined")}}. -<h3 id="Paramètres">Paramètres</h3> +### Paramètres -<dl> - <dt><code>callback</code></dt> - <dd>La fonction qu'on souhaite exécuter pour chaque élément et qui sera appelée avec trois arguments : - <dl> - <dt><code>valeurCourante</code>, <code>cléCourante</code></dt> - <dd>L'élément courant appartenant à l'ensemble <code>Set</code>. Un ensemble n'ayant pas de clé, c'est la même valeur qui est passée pour deux arguments de la fonction de rappel.</dd> - <dt><code>set</code></dt> - <dd>L'objet <code>Set</code> courant (celui sur lequel <code>forEach()</code> a été appelé).</dd> - </dl> - </dd> - <dt><code>thisArg</code></dt> - <dd>Paramètre optionnel. La valeur à utiliser comme <code>this</code> lors de l'exécution de <code>callback</code>.</dd> -</dl> +- `callback` -<h2 id="Description">Description</h2> + - : La fonction qu'on souhaite exécuter pour chaque élément et qui sera appelée avec trois arguments : -<p>La méthode <code>forEach()</code> exécute la fonction <code>callback</code> fournie pour chaque valeur contenue au sein de l'objet <code>Set</code>. Elle n'est pas appelée pour les valeurs qui ont été supprimées. Cependant, elle est exécutée si jamais la valeur vaut <code>undefined</code>.</p> + - `valeurCourante`, `cléCourante` + - : L'élément courant appartenant à l'ensemble `Set`. Un ensemble n'ayant pas de clé, c'est la même valeur qui est passée pour deux arguments de la fonction de rappel. + - `set` + - : L'objet `Set` courant (celui sur lequel `forEach()` a été appelé). -<p><code>callback</code> est appelé avec <strong>trois arguments</strong> :</p> +- `thisArg` + - : Paramètre optionnel. La valeur à utiliser comme `this` lors de l'exécution de `callback`. -<ul> - <li>la <strong>valeur de l'élément</strong></li> - <li>la <strong>clé de l'élément</strong></li> - <li>l'objet <strong><code>Set</code> qui est parcouru</strong></li> -</ul> +## Description -<p>Les objets <code>Set</code> n'ont pas de clé (<em>key</em>). Cependant les deux premiers arguments correspondent à la <strong>valeur</strong> contenue dans l'objet {{jsxref("Set")}}. Cela permet d'utiliser les fonctions callback de façon cohérente avec les méthodes <code>forEach()</code> de {{jsxref("Map.foreach", "Map")}} et {{jsxref("Array.forEach","Array")}}.</p> +La méthode `forEach()` exécute la fonction `callback` fournie pour chaque valeur contenue au sein de l'objet `Set`. Elle n'est pas appelée pour les valeurs qui ont été supprimées. Cependant, elle est exécutée si jamais la valeur vaut `undefined`. -<p>Si un paramètre <code>thisArg</code> est fourni, il sera passé à la fonction <code>callback</code> lors de l'appel comme valeur <code>this</code>. Par défaut, la valeur {{jsxref("undefined")}} sera passée comme argument <code>this</code>. La valeur <code>this</code> effectivement reçue par la fonction <code>callback</code> est déterminée selon <a href="/fr/docs/Web/JavaScript/Reference/Opérateurs/L_opérateur_this">les règles usuelles de détermination de <code>this</code> par une fonction</a>.</p> +`callback` est appelé avec **trois arguments** : -<p>Chacune des valeurs sera traitée une fois sauf si celle-ci a été supprimée puis réajoutée avant la fin de <code>forEach</code>. <code>callback</code> n'est pas appelé pour les valeurs qui sont supprimés avant le passage de la fonction. Les valeurs qui sont ajoutées avant que <code>forEach</code> ait parcouru l'ensemble seront traitées</p> +- la **valeur de l'élément** +- la **clé de l'élément** +- l'objet **`Set` qui est parcouru** -<p><code>forEach</code> exécute la fonction <code>callback</code> une fois pour chaque élément de l'objet <code>Set</code>. Cette méthode ne renvoie pas de valeur.</p> +Les objets `Set` n'ont pas de clé (_key_). Cependant les deux premiers arguments correspondent à la **valeur** contenue dans l'objet {{jsxref("Set")}}. Cela permet d'utiliser les fonctions callback de façon cohérente avec les méthodes `forEach()` de {{jsxref("Map.foreach", "Map")}} et {{jsxref("Array.forEach","Array")}}. -<h2 id="Exemples">Exemples</h2> +Si un paramètre `thisArg` est fourni, il sera passé à la fonction `callback` lors de l'appel comme valeur `this`. Par défaut, la valeur {{jsxref("undefined")}} sera passée comme argument `this`. La valeur `this` effectivement reçue par la fonction `callback` est déterminée selon [les règles usuelles de détermination de `this` par une fonction](/fr/docs/Web/JavaScript/Reference/Opérateurs/L_opérateur_this). -<p>Le code qui suit permet d'enregistrer une ligne pour chaque élément contenu dans l'objet <code>Set</code> :</p> +Chacune des valeurs sera traitée une fois sauf si celle-ci a été supprimée puis réajoutée avant la fin de `forEach`. `callback` n'est pas appelé pour les valeurs qui sont supprimés avant le passage de la fonction. Les valeurs qui sont ajoutées avant que `forEach` ait parcouru l'ensemble seront traitées -<pre class="brush:js">function logSetElements(valeur1, valeur2, set) { +`forEach` exécute la fonction `callback` une fois pour chaque élément de l'objet `Set`. Cette méthode ne renvoie pas de valeur. + +## Exemples + +Le code qui suit permet d'enregistrer une ligne pour chaque élément contenu dans l'objet `Set` : + +```js +function logSetElements(valeur1, valeur2, set) { console.log("s[" + valeur1 + "] = " + valeur2); } @@ -75,37 +72,20 @@ new Set(["toto", "truc", undefined]).forEach(logSetElements); // "s[toto] = toto" // "s[truc] = truc" // "s[undefined] = undefined" -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES2015', '#sec-set.prototype.foreach', 'Set.prototype.forEach')}}</td> - <td>{{Spec2('ES2015')}}</td> - <td>Définition initiale.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-set.prototype.foreach', 'Set.prototype.forEach')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("javascript.builtins.Set.forEach")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("Array.prototype.forEach()")}}</li> - <li>{{jsxref("Map.prototype.forEach()")}}</li> -</ul> +``` + +## Spécifications + +| Spécification | État | Commentaires | +| -------------------------------------------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-set.prototype.foreach', 'Set.prototype.forEach')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-set.prototype.foreach', 'Set.prototype.forEach')}} | {{Spec2('ESDraft')}} | | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Set.forEach")}} + +## Voir aussi + +- {{jsxref("Array.prototype.forEach()")}} +- {{jsxref("Map.prototype.forEach()")}} diff --git a/files/fr/web/javascript/reference/global_objects/set/has/index.md b/files/fr/web/javascript/reference/global_objects/set/has/index.md index 1ada789d3e..3718eecc6d 100644 --- a/files/fr/web/javascript/reference/global_objects/set/has/index.md +++ b/files/fr/web/javascript/reference/global_objects/set/has/index.md @@ -11,34 +11,31 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Set/has original_slug: Web/JavaScript/Reference/Objets_globaux/Set/has --- -<div>{{JSRef}}</div> +{{JSRef}} -<p>La méthode <code><strong>has()</strong></code> renvoie un booléen qui indique s'il existe un élément de l'ensemble <code>Set</code> avec une certaine valeur.</p> +La méthode **`has()`** renvoie un booléen qui indique s'il existe un élément de l'ensemble `Set` avec une certaine valeur. -<div>{{EmbedInteractiveExample("pages/js/set-prototype-has.html")}}</div> +{{EmbedInteractiveExample("pages/js/set-prototype-has.html")}} -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="syntaxbox"><var>monSet</var>.has(<var>valeur</var>);</pre> + monSet.has(valeur); -<h3 id="Paramètres">Paramètres</h3> +### Paramètres -<dl> - <dt><code>valeur</code></dt> - <dd>Ce paramètre est obligatoire. C'est la valeur dont on souhaite savoir si elle est présente ou non dans l'objet <code>Set</code>.</dd> -</dl> +- `valeur` + - : Ce paramètre est obligatoire. C'est la valeur dont on souhaite savoir si elle est présente ou non dans l'objet `Set`. -<h3 id="Valeur_de_retour">Valeur de retour</h3> +### Valeur de retour -<p>Un booléen : <code>true</code> s'il existe un élément avec la valeur donnée au sein du <code>Set</code>, <code>false</code> sinon.</p> +Un booléen : `true` s'il existe un élément avec la valeur donnée au sein du `Set`, `false` sinon. -<div class="note"> -<p><strong>Note :</strong> L'existence d'un élément avec la valeur testée est vérifiée avec <a href="/fr/docs/Web/JavaScript/Les_différents_tests_d_égalité#Égalité_de_valeurs_nulles">l'algorithme d'égalité des valeurs nulles (<code><em>sameValueZero</em></code>)</a>.</p> -</div> +> **Note :** L'existence d'un élément avec la valeur testée est vérifiée avec [l'algorithme d'égalité des valeurs nulles (`sameValueZero`)](/fr/docs/Web/JavaScript/Les_différents_tests_d_égalité#Égalité_de_valeurs_nulles). -<h2 id="Exemples">Exemples</h2> +## Exemples -<pre class="brush: js">var monSet = new Set(); +```js +var monSet = new Set(); monSet.add("toto"); monSet.has("toto"); // renvoie true @@ -51,38 +48,21 @@ set1.add(obj1); set1.has(obj1); // renvoie true set1.has({'cle1': 1}); // renvoie false car ce sont deux objets distincts set1.add({'cle1': 1}); // set1 contient désormais 2 éléments -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES2015', '#sec-set.prototype.has', 'Set.prototype.has')}}</td> - <td>{{Spec2('ES2015')}}</td> - <td>Définition initiale.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-set.prototype.has', 'Set.prototype.has')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("javascript.builtins.Set.has")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("Set")}}</li> - <li>{{jsxref("Set.prototype.add()")}}</li> - <li>{{jsxref("Set.prototype.delete()")}}</li> -</ul> +``` + +## Spécifications + +| Spécification | État | Commentaires | +| -------------------------------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-set.prototype.has', 'Set.prototype.has')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-set.prototype.has', 'Set.prototype.has')}} | {{Spec2('ESDraft')}} | | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Set.has")}} + +## Voir aussi + +- {{jsxref("Set")}} +- {{jsxref("Set.prototype.add()")}} +- {{jsxref("Set.prototype.delete()")}} diff --git a/files/fr/web/javascript/reference/global_objects/set/index.md b/files/fr/web/javascript/reference/global_objects/set/index.md index 46db53beed..2121c5c404 100644 --- a/files/fr/web/javascript/reference/global_objects/set/index.md +++ b/files/fr/web/javascript/reference/global_objects/set/index.md @@ -9,67 +9,66 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Set original_slug: Web/JavaScript/Reference/Objets_globaux/Set --- -<div>{{JSRef}}</div> +{{JSRef}} -<p>L'objet <strong><code>Set</code></strong> (Ensemble en français) permet de stocker des valeurs <em>uniques</em>, de n'importe quel type, que ce soit des valeurs d'un {{Glossary("Primitive", "type primitif")}} ou des objets.</p> +L'objet **`Set`** (Ensemble en français) permet de stocker des valeurs _uniques_, de n'importe quel type, que ce soit des valeurs d'un {{Glossary("Primitive", "type primitif")}} ou des objets. -<div>{{EmbedInteractiveExample("pages/js/set-prototype-constructor.html")}}</div> +{{EmbedInteractiveExample("pages/js/set-prototype-constructor.html")}} -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="syntaxbox"> new Set([itérable]);</pre> + new Set([itérable]); -<h3 id="Paramètres">Paramètres</h3> +### Paramètres -<dl> - <dt><code>itérable</code></dt> - <dd>Paramètre optionnel. Si un objet <a href="/fr/docs/Web/JavaScript/Reference/Instructions/for...of">itérable </a>est donné comme argument, l'ensemble de ses éléments sera ajouté au nouvel objet Set. Si {{jsxref("null")}} est fourni comme argument ou qu'aucun argument n'est fourni, il sera traité comme {{jsxref("undefined")}}.</dd> -</dl> +- `itérable` + - : Paramètre optionnel. Si un objet [itérable ](/fr/docs/Web/JavaScript/Reference/Instructions/for...of)est donné comme argument, l'ensemble de ses éléments sera ajouté au nouvel objet Set. Si {{jsxref("null")}} est fourni comme argument ou qu'aucun argument n'est fourni, il sera traité comme {{jsxref("undefined")}}. -<h3 id="Valeur_de_retour">Valeur de retour</h3> +### Valeur de retour -<p>Un nouvel objet <code>Set</code>.</p> +Un nouvel objet `Set`. -<h2 id="Description">Description</h2> +## Description -<p>Les objets <code>Set</code> sont des ensembles de valeurs. Il est possible d'itérer sur les éléments contenus dans l'objet <code>Set</code> dans leur ordre d'insertion. <strong>Une valeur donnée ne peut apparaître qu'une seule fois par <code>Set</code>.</strong></p> +Les objets `Set` sont des ensembles de valeurs. Il est possible d'itérer sur les éléments contenus dans l'objet `Set` dans leur ordre d'insertion. **Une valeur donnée ne peut apparaître qu'une seule fois par `Set`.** -<h3 id="Égalité_des_valeurs">Égalité des valeurs</h3> +### Égalité des valeurs -<p>Chaque valeur d'un <code>Set</code> doit être unique, il faut donc tester l'égalité des valeurs contenues. Cette égalité n'est pas la même que celle de l'opérateur ===. Notamment, pour les objets <code>Set</code>, <code>+0</code> (qui, selon l'égalité stricte, est égal à <code>-0</code>) et <code>-0</code> sont des valeurs différentes. Cela a toutefois été changé avec la dernière version d'ECMAScript 2015 (ES6). Voir le tableau de compatibilité ci-après quant à la prise en charge de l'égalité des clés pour <code>0</code> et <code>-0</code>.</p> +Chaque valeur d'un `Set` doit être unique, il faut donc tester l'égalité des valeurs contenues. Cette égalité n'est pas la même que celle de l'opérateur ===. Notamment, pour les objets `Set`, `+0` (qui, selon l'égalité stricte, est égal à `-0`) et `-0` sont des valeurs différentes. Cela a toutefois été changé avec la dernière version d'ECMAScript 2015 (ES6). Voir le tableau de compatibilité ci-après quant à la prise en charge de l'égalité des clés pour `0` et `-0`. -<p>{{jsxref("NaN")}} and {{jsxref("undefined")}} peuvent être enregistrés dans un objet <code>Set</code>. <code>NaN</code> est considéré comme <code>NaN</code> (bien que <code>NaN !== NaN</code>).</p> +{{jsxref("NaN")}} and {{jsxref("undefined")}} peuvent être enregistrés dans un objet `Set`. `NaN` est considéré comme `NaN` (bien que `NaN !== NaN`). -<h2 id="Propriétés">Propriétés</h2> +## Propriétés -<dl> - <dt><code>Set.length</code></dt> - <dd>La valeur de la propriété <code>length</code> est 0. - <div class="note"><p><strong>Note :</strong> Pour compter le nombre d'éléments d'un objet <code>Set</code>, on utilisera {{jsxref("Set.prototype.size")}}.</p></div> - </dd> - <dt>{{jsxref("Set.@@species", "get Set[@@species]")}}</dt> - <dd>Le constructeur utilisé pour créer des objets dérivés.</dd> - <dt>{{jsxref("Set.prototype")}}</dt> - <dd>Représente le prototype du constructeur <code>Set</code>. Cela permet d'ajouter des propriétés à tous les objets <code>Set</code>.</dd> -</dl> +- `Set.length` -<h2 id="Instances_de_Set">Instances de <code>Set</code></h2> + - : La valeur de la propriété `length` est 0. -<p>Toutes les instances de <code>Set</code> héritent de {{jsxref("Set.prototype")}}.</p> + > **Note :** Pour compter le nombre d'éléments d'un objet `Set`, on utilisera {{jsxref("Set.prototype.size")}}. -<h3 id="Propriétés_2">Propriétés</h3> +- {{jsxref("Set.@@species", "get Set[@@species]")}} + - : Le constructeur utilisé pour créer des objets dérivés. +- {{jsxref("Set.prototype")}} + - : Représente le prototype du constructeur `Set`. Cela permet d'ajouter des propriétés à tous les objets `Set`. -<p>{{page('fr/docs/Web/JavaScript/Reference/Objets_globaux/Set/prototype','Propriétés')}}</p> +## Instances de `Set` -<h3 id="Méthodes">Méthodes</h3> +Toutes les instances de `Set` héritent de {{jsxref("Set.prototype")}}. -<p>{{page('fr/docs/Web/JavaScript/Reference/Objets_globaux/Set/prototype','Méthodes')}}</p> +### Propriétés -<h2 id="Exemples">Exemples</h2> +{{page('fr/docs/Web/JavaScript/Reference/Objets_globaux/Set/prototype','Propriétés')}} -<h3 id="Utiliser_l'objet_Set">Utiliser l'objet <code>Set</code></h3> +### Méthodes -<pre class="brush: js">var monSet = new Set(); +{{page('fr/docs/Web/JavaScript/Reference/Objets_globaux/Set/prototype','Méthodes')}} + +## Exemples + +### Utiliser l'objet `Set` + +```js +var monSet = new Set(); monSet.add(1); // { 1 } monSet.add(5); // { 1, 5 } @@ -88,11 +87,12 @@ monSet.has(5); // false, 5 a été retiré de l'ensemble monSet.size; // 2, on a retiré une valeur de l'ensemble console.log(monSet); // Set [ 1, "du texte" ] -</pre> +``` -<h3 id="Itérer_sur_des_ensembles_(Set)">Itérer sur des ensembles (<code>Set</code>)</h3> +### Itérer sur des ensembles (`Set`) -<pre class="brush: js">// On itère sur les différents éléments de l'ensemble +```js +// On itère sur les différents éléments de l'ensemble // ici on affiche : 1, "du texte" for (let item of monSet) console.log(item); @@ -119,10 +119,10 @@ monSet2.size; // 4 [...monSet2]; // [1,2,3,4] // L'intersection peut être calculée avec -var intersection = new Set([...set1].filter(x => set2.has(x))); +var intersection = new Set([...set1].filter(x => set2.has(x))); // La différence pourra être simulée avec -var différence = new Set([...set1].filter(x => !set2.has(x))); +var différence = new Set([...set1].filter(x => !set2.has(x))); // On peut itérer sur les entrées d'un ensemble avec forEach mySet.forEach(function(value) { @@ -132,11 +132,13 @@ mySet.forEach(function(value) { // 1 // 2 // 3 -// 4</pre> +// 4 +``` -<h3 id="Implémenter_des_opérations_ensemblistes">Implémenter des opérations ensemblistes</h3> +### Implémenter des opérations ensemblistes -<pre class="brush: js">function isSuperset(set, subset) { +```js +function isSuperset(set, subset) { for (var elem of subset) { if (!set.has(elem)) { return false; @@ -176,15 +178,16 @@ var setA = new Set([1,2,3,4]), setB = new Set([2,3]), setC = new Set([3,4,5,6]); -isSuperset(setA, setB); // => true -union(setA, setC); // => Set [1, 2, 3, 4, 5, 6] -intersection(setA, setC); // => Set [3, 4] -difference(setA, setC); // => Set [1, 2] -</pre> +isSuperset(setA, setB); // => true +union(setA, setC); // => Set [1, 2, 3, 4, 5, 6] +intersection(setA, setC); // => Set [3, 4] +difference(setA, setC); // => Set [1, 2] +``` -<h3 id="Les_relations_avec_les_objets_Array">Les relations avec les objets <code>Array</code></h3> +### Les relations avec les objets `Array` -<pre class="brush: js">var monTableau = ["valeur1", "valeur2", "valeur3"]; +```js +var monTableau = ["valeur1", "valeur2", "valeur3"]; // On peut utiliser le constructeur Set pour transformer un Array en Set var monSet = new Set(monTableau); @@ -192,55 +195,38 @@ var monSet = new Set(monTableau); monSet.has("valeur1"); // renvoie true // Et utiliser l'opérateur de décomposition pour transformer un Set en Array. -console.log([...monSet]); // affichera la même chose que monTableau</pre> +console.log([...monSet]); // affichera la même chose que monTableau +``` -<h3 id="Les_relations_avec_les_objets_String">Les relations avec les objets <code>String</code></h3> +### Les relations avec les objets `String` -<pre>var maChaine = "CouCou"; + var maChaine = "CouCou"; -var monEnsemble = new Set(maChaine); -// Set {"C","o","u" } -monEnsemble.size; // 3 -</pre> + var monEnsemble = new Set(maChaine); + // Set {"C","o","u" } + monEnsemble.size; // 3 -<h3 id="Dédoublonner_un_tableau">Dédoublonner un tableau</h3> +### Dédoublonner un tableau -<pre class="brush: js">const nombres = [2,3,4,4,2,2,2,4,4,5,5,6,6,7,5,32,3,4,5]; +```js +const nombres = [2,3,4,4,2,2,2,4,4,5,5,6,6,7,5,32,3,4,5]; console.log([...new Set(nombres)]); -// affichera [2, 3, 4, 5, 6, 7, 32]</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ES2015', '#sec-set-objects', 'Set')}}</td> - <td>{{Spec2('ES2015')}}</td> - <td>Définition initiale.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-set-objects', 'Set')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td></td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("javascript.builtins.Set")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("Map")}}</li> - <li>{{jsxref("WeakMap")}}</li> - <li>{{jsxref("WeakSet")}}</li> -</ul> +// affichera [2, 3, 4, 5, 6, 7, 32] +``` + +## Spécifications + +| Spécification | État | Commentaires | +| -------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-set-objects', 'Set')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-set-objects', 'Set')}} | {{Spec2('ESDraft')}} | | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Set")}} + +## Voir aussi + +- {{jsxref("Map")}} +- {{jsxref("WeakMap")}} +- {{jsxref("WeakSet")}} diff --git a/files/fr/web/javascript/reference/global_objects/set/size/index.md b/files/fr/web/javascript/reference/global_objects/set/size/index.md index 57e0165c9c..c19e701d2f 100644 --- a/files/fr/web/javascript/reference/global_objects/set/size/index.md +++ b/files/fr/web/javascript/reference/global_objects/set/size/index.md @@ -11,56 +11,38 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Set/size original_slug: Web/JavaScript/Reference/Objets_globaux/Set/size --- -<div>{{JSRef}}</div> +{{JSRef}} -<p>L'accesseur <code><strong>size</strong></code> est une propriété qui renvoie le nombre d'éléments contenus dans un objet {{jsxref("Set")}}. Un objet <code>Set</code> correspondant à un ensemble, chaque élément qu'il contient y est unique.</p> +L'accesseur **`size`** est une propriété qui renvoie le nombre d'éléments contenus dans un objet {{jsxref("Set")}}. Un objet `Set` correspondant à un ensemble, chaque élément qu'il contient y est unique. -<div>{{EmbedInteractiveExample("pages/js/set-prototype-size.html")}}</div> +{{EmbedInteractiveExample("pages/js/set-prototype-size.html")}} +## Description +La valeur de `size` est un entier représentant le nombre d'éléments contenus dans l'ensemble. Le mutateur associée pour `size` vaut {{jsxref("undefined")}}. Cette propriété ne peut pas être changée directement. -<h2 id="Description">Description</h2> +## Exemples -<p>La valeur de <code>size</code> est un entier représentant le nombre d'éléments contenus dans l'ensemble. Le mutateur associée pour <code>size</code> vaut {{jsxref("undefined")}}. Cette propriété ne peut pas être changée directement.</p> - -<h2 id="Exemples">Exemples</h2> - -<pre class="brush:js">var monSet = new Set(); +```js +var monSet = new Set(); monSet.add(1); monSet.add(5); monSet.add("du texte") monSet.size; // 3 -</pre> +``` -<h2 id="Spécifications">Spécifications</h2> +## Spécifications -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES2015', '#sec-get-set.prototype.size', 'Set.prototype.size')}}</td> - <td>{{Spec2('ES2015')}}</td> - <td>Définition initiale.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-get-set.prototype.size', 'Set.prototype.size')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td></td> - </tr> - </tbody> -</table> +| Spécification | État | Commentaires | +| ---------------------------------------------------------------------------------------------------- | ---------------------------- | -------------------- | +| {{SpecName('ES2015', '#sec-get-set.prototype.size', 'Set.prototype.size')}} | {{Spec2('ES2015')}} | Définition initiale. | +| {{SpecName('ESDraft', '#sec-get-set.prototype.size', 'Set.prototype.size')}} | {{Spec2('ESDraft')}} | | -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> +## Compatibilité des navigateurs -<p>{{Compat("javascript.builtins.Set.size")}}</p> +{{Compat("javascript.builtins.Set.size")}} -<h2 id="Voir_aussi">Voir aussi</h2> +## Voir aussi -<ul> - <li>{{jsxref("Set")}}</li> -</ul> +- {{jsxref("Set")}} diff --git a/files/fr/web/javascript/reference/global_objects/set/values/index.md b/files/fr/web/javascript/reference/global_objects/set/values/index.md index fd56d94faa..2a0de375f4 100644 --- a/files/fr/web/javascript/reference/global_objects/set/values/index.md +++ b/files/fr/web/javascript/reference/global_objects/set/values/index.md @@ -12,26 +12,26 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Set/values original_slug: Web/JavaScript/Reference/Objets_globaux/Set/values --- -<div>{{JSRef}}</div> +{{JSRef}} -<p>La méthode <code><strong>values()</strong></code> renvoie un nouvel objet {{jsxref("Iterator")}} qui contient les valeurs de chaque élément de l'objet <code>Set</code>, dans leur ordre d'insertion.</p> +La méthode **`values()`** renvoie un nouvel objet {{jsxref("Iterator")}} qui contient les valeurs de chaque élément de l'objet `Set`, dans leur ordre d'insertion. -<p>La méthode <strong><code>keys()</code></strong> est un alias pour cette méthode (afin de conserver une certaine similarité avec les objets {{jsxref("Map")}}) et se comportera exactement de la même façon en renvoyant les <strong>valeurs</strong> des éléments du <code>Set</code>.</p> +La méthode **`keys()`** est un alias pour cette méthode (afin de conserver une certaine similarité avec les objets {{jsxref("Map")}}) et se comportera exactement de la même façon en renvoyant les **valeurs** des éléments du `Set`. -<div>{{EmbedInteractiveExample("pages/js/set-prototype-values.html")}}</div> +{{EmbedInteractiveExample("pages/js/set-prototype-values.html")}} -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="syntaxbox"><var>monSet</var>.values(); -</pre> + monSet.values(); -<h3 id="Valeur_de_retour">Valeur de retour</h3> +### Valeur de retour -<p>Un nouvel objet <code>Iterator</code> qui contient les valeurs de chaque élément de l'ensemble <code>Set</code>, dans leur ordre d'insertion.</p> +Un nouvel objet `Iterator` qui contient les valeurs de chaque élément de l'ensemble `Set`, dans leur ordre d'insertion. -<h2 id="Exemples">Exemples</h2> +## Exemples -<pre class="brush:js">var monSet = new Set(); +```js +var monSet = new Set(); monSet.add("toto"); monSet.add("truc"); monSet.add("machin"); @@ -40,36 +40,20 @@ var setIter = monSet.values(); console.log(setIter.next().value); // "toto" console.log(setIter.next().value); // "truc" -console.log(setIter.next().value); // "machin"</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ES2015', '#sec-set.prototype.values', 'Set.prototype.values')}}</td> - <td>{{Spec2('ES2015')}}</td> - <td>Définition initiale</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-set.prototype.values', 'Set.prototype.values')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("javascript.builtins.Set.values")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("Set.prototype.entries()")}}</li> -</ul> +console.log(setIter.next().value); // "machin" +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ---------------------------------------------------------------------------------------------------- | ---------------------------- | ------------------- | +| {{SpecName('ES2015', '#sec-set.prototype.values', 'Set.prototype.values')}} | {{Spec2('ES2015')}} | Définition initiale | +| {{SpecName('ESDraft', '#sec-set.prototype.values', 'Set.prototype.values')}} | {{Spec2('ESDraft')}} | | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Set.values")}} + +## Voir aussi + +- {{jsxref("Set.prototype.entries()")}} |
