From bf8e099b9c8b3c60d60b3712b4fc97b052c39887 Mon Sep 17 00:00:00 2001 From: julieng Date: Tue, 3 Aug 2021 08:03:23 +0200 Subject: convert content to md --- .../global_objects/object/entries/index.md | 138 +++++++++------------ 1 file changed, 62 insertions(+), 76 deletions(-) (limited to 'files/fr/web/javascript/reference/global_objects/object/entries') diff --git a/files/fr/web/javascript/reference/global_objects/object/entries/index.md b/files/fr/web/javascript/reference/global_objects/object/entries/index.md index 9d3d2080a7..7207bf85aa 100644 --- a/files/fr/web/javascript/reference/global_objects/object/entries/index.md +++ b/files/fr/web/javascript/reference/global_objects/object/entries/index.md @@ -10,36 +10,35 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Object/entries original_slug: Web/JavaScript/Reference/Objets_globaux/Object/entries --- -
{{JSRef}}
+{{JSRef}} -

La méthode Object.entries() renvoie un tableau des propriétés propres énumérables d'un objet dont la clé est une chaîne de caractères, sous la forme de paires [clé, valeur], dans le même ordre qu'une boucle {{jsxref("Instructions/for...in", "for...in")}} (la boucle for-in est différente car elle parcourt la chaîne des prototypes).

+La méthode **`Object.entries()`** renvoie un tableau des propriétés propres énumérables d'un objet dont la clé est une chaîne de caractères, sous la forme de paires `[clé, valeur]`, dans le même ordre qu'une boucle {{jsxref("Instructions/for...in", "for...in")}} (la boucle `for-in` est différente car elle parcourt la chaîne des prototypes). -

L'ordre du tableau renvoyé par cette méthode ne dépend pas de la façon dont l'objet est défini. S'il faut garantir un certain ordre, on pourra utiliser la méthode {{jsxref("Array.sort()")}}.

+L'ordre du tableau renvoyé par cette méthode ne dépend pas de la façon dont l'objet est défini. S'il faut garantir un certain ordre, on pourra utiliser la méthode {{jsxref("Array.sort()")}}. -
{{EmbedInteractiveExample("pages/js/object-entries.html")}}
+{{EmbedInteractiveExample("pages/js/object-entries.html")}} -

Syntaxe

+## Syntaxe -
Object.entries(obj)
+ Object.entries(obj) -

Paramètres

+### Paramètres -
-
obj
-
L'objet dont on souhaite connaître les propriétés propres énumérables dont la clé est une chaîne de caractères, sous la forme de paires [clé, valeur].
-
+- `obj` + - : L'objet dont on souhaite connaître les propriétés propres énumérables dont la clé est une chaîne de caractères, sous la forme de paires `[clé, valeur]`. -

Valeur de retour

+### Valeur de retour -

Un tableau qui contient les propriétés énumérables propres de l'objet sous la forme de paires [clé, valeur].

+Un tableau qui contient les propriétés énumérables propres de l'objet sous la forme de paires `[clé, valeur]`. -

Description

+## Description -

Object.entries() renvoie un tableau dont les éléments sont des paires (des tableaux à deux éléments)  [clé, valeur] qui correspondent aux propriétés énumérables qui sont directement présentes sur l'objet passé en argument. L'ordre du tableau est le même que celui utilisé lorsqu'on parcourt les valeurs manuellement.

+`Object.entries()` renvoie un tableau dont les éléments sont des paires (des tableaux à deux éléments)  `[clé, valeur]` qui correspondent aux propriétés énumérables qui sont directement présentes sur l'objet passé en argument. L'ordre du tableau est le même que celui utilisé lorsqu'on parcourt les valeurs manuellement. -

Exemples

+## Exemples -
var obj = { toto: "truc", machin: 42 };
+```js
+var obj = { toto: "truc", machin: 42 };
 console.log(Object.entries(obj)); // [ ['toto', 'truc'], ['machin', 42] ]
 
 // Un objet semblable à un tableau
@@ -71,37 +70,42 @@ for (var [cle, valeur] of Object.entries(autreObjet)){
 }
 
 // Ou encore, en utilisant les méthodes génériques
-Object.entries(autreObjet).forEach(([clé, valeur]) => {
+Object.entries(autreObjet).forEach(([clé, valeur]) => {
   console.log(clé + ' ' + valeur);
 });
-
+``` -

Convertir un objet en Map

+### Convertir un objet en `Map` -

Le constructeur {{jsxref("Map", "new Map()")}} accepte un argument itérable pour décrire les entrées du tableau associatif. Grâce à Object.entries, il est possible de convertir simplement un objet {{jsxref("Object")}} en un objet {{jsxref("Map")}} :

+Le constructeur {{jsxref("Map", "new Map()")}} accepte un argument itérable pour décrire les entrées du tableau associatif. Grâce à `Object.entries`, il est possible de convertir simplement un objet {{jsxref("Object")}} en un objet {{jsxref("Map")}} : -
var obj = { toto: "truc", machin: 42 };
+```js
+var obj = { toto: "truc", machin: 42 };
 var map = new Map(Object.entries(obj));
-console.log(map); // Map { toto: "truc", machin: 42 }
+console.log(map); // Map { toto: "truc", machin: 42 } +``` -

Parcourir un objet

+### Parcourir un objet -

En utilisant la décomposition des tableaux, on peut simplement parcourir les différentes propriétés d'un objet :

+En utilisant [la décomposition des tableaux](/fr/docs/Web/JavaScript/Reference/Opérateurs/Affecter_par_décomposition#Décomposition_d'un_tableau), on peut simplement parcourir les différentes propriétés d'un objet : -
const obj = { toto: "truc", bidule: 42 };
+```js
+const obj = { toto: "truc", bidule: 42 };
 Object.entries(obj).forEach(
-  ([clé, valeur]) => console.log(`${clé}: ${valeur}`)
+  ([clé, valeur]) => console.log(`${clé}: ${valeur}`)
 );
 // "toto: truc"
-// "bidule: 42"
+// "bidule: 42" +``` -

Prothèse d'émulation (polyfill)

+## Prothèse d'émulation (_polyfill_) -

Afin d'ajouter le support pour Object.entries dans des environnements plus anciens qui ne supportent pas la méthode nativement, vous pouvez utiliser une prothèse comme celle proposée sur le dépôt tc39/proposal-object-values-entries ou sur le dépôt es-shims/Object.entries.

+Afin d'ajouter le support pour `Object.entries` dans des environnements plus anciens qui ne supportent pas la méthode nativement, vous pouvez utiliser une prothèse comme celle proposée sur le dépôt [tc39/proposal-object-values-entries](https://github.com/tc39/proposal-object-values-entries) ou sur le dépôt [es-shims/Object.entries](https://github.com/es-shims/Object.entries). -

Vous pouvez également utiliser la prothèse suivante (qui nécessitera la prothèse pour Object.prototype.keys() si on souhaite être compatible avec IE 8 et les versions antérieures) :

+Vous pouvez également utiliser la prothèse suivante (qui nécessitera la prothèse pour `Object.prototype.keys()` si on souhaite être compatible avec IE 8 et les versions antérieures) : -
if (!Object.entries) {
+```js
+if (!Object.entries) {
   Object.entries = function( obj ){
     var ownProps = Object.keys( obj ),
         i = ownProps.length,
@@ -111,47 +115,29 @@ Object.entries(obj).forEach(
 
     return resArray;
   };
-}
- -

Spécifications

- - - - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('ESDraft', '#sec-object.entries', 'Object.entries')}}{{Spec2('ESDraft')}} 
{{SpecName('ES8', '#sec-object.entries', 'Object.entries')}}{{Spec2('ES8')}}Définition initiale.
- -

Compatibilité des navigateurs

- -

{{Compat("javascript.builtins.Object.entries")}}

- -

Voir aussi

- - +} +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ------------------------------------------------------------------------------------ | ---------------------------- | -------------------- | +| {{SpecName('ESDraft', '#sec-object.entries', 'Object.entries')}} | {{Spec2('ESDraft')}} |   | +| {{SpecName('ES8', '#sec-object.entries', 'Object.entries')}} | {{Spec2('ES8')}} | Définition initiale. | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Object.entries")}} + +## Voir aussi + +- [Énumérabilité et rattachement des propriétés](/fr/docs/Web/JavaScript/Caractère_énumérable_des_propriétés_et_rattachement) +- {{jsxref("Object.keys()")}} +- {{jsxref("Object.values()")}} +- {{jsxref("Object.prototype.propertyIsEnumerable()")}} +- {{jsxref("Object.create()")}} +- {{jsxref("Object.fromEntries()")}} +- {{jsxref("Object.getOwnPropertyNames()")}} +- {{jsxref("Map.prototype.entries()")}} +- {{jsxref("Map.prototype.keys()")}} +- {{jsxref("Map.prototype.values()")}} -- cgit v1.2.3-54-g00ecf