Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
Object : méthode statique entries()
Baseline Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis mars 2017.
La méthode statiqueObject.entries() retourne un tableau contenant les paires clé-valeur des propriétés propres énumérables d'un objet, dont les clés sont des chaînes de caractères.
Dans cet article
Exemple interactif
const object = { a: "some string", b: 42,};for (const [key, value] of Object.entries(object)) { console.log(`${key}: ${value}`);}// Résultat attendu :// "a: some string"// "b: 42"Syntaxe
Object.entries(obj)Paramètres
objUn objet.
Valeur de retour
Un tableau contenant les paires clé-valeur des propriétés propres énumérables de l'objet donné, dont les clés sont des chaînes de caractères. Chaque paire clé-valeur est un tableau de deux éléments : le premier élément est la clé (toujours une chaîne de caractères), le second est la valeur de la propriété.
Description
Object.entries() retourne un tableau dont les éléments sont des tableaux correspondant aux paires clé-valeur des propriétés propres énumérables à clés de chaînes de caractères trouvées directement sur l'objet. Cela équivaut à itérer avec une bouclefor...in, sauf qu'une bouclefor...in énumère aussi les propriétés de la chaîne de prototypes. L'ordre du tableau retourné parObject.entries() est le même que celui fourni par une bouclefor...in.
Si vous n'avez besoin que des clés, utilisezObject.keys(). Si vous n'avez besoin que des valeurs, utilisezObject.values().
Exemples
>Utilisation deObject.entries()
const obj = { foo: "bar", baz: 42 };console.log(Object.entries(obj)); // [ ['foo', 'bar'], ['baz', 42] ]const arrayLike = { 0: "a", 1: "b", 2: "c" };console.log(Object.entries(arrayLike)); // [ ['0', 'a'], ['1', 'b'], ['2', 'c'] ]const randomKeyOrder = { 100: "a", 2: "b", 7: "c" };console.log(Object.entries(randomKeyOrder)); // [ ['2', 'b'], ['7', 'c'], ['100', 'a'] ]// getFoo est une propriété non énumérableconst myObj = Object.create( {}, { getFoo: { value() { return this.foo; }, }, },);myObj.foo = "bar";console.log(Object.entries(myObj)); // [ ['foo', 'bar'] ]UtiliserObject.entries() sur des valeurs primitives
Les arguments qui ne sont pas des objets sontconvertis en objets.undefined etnull ne peuvent pas être convertis en objets et lèvent immédiatement uneTypeError. Seules les chaînes de caractères peuvent avoir des propriétés propres énumérables, tandis que toutes les autres primitives retournent un tableau vide.
// Strings have indices as enumerable own propertiesconsole.log(Object.entries("foo")); // [ ['0', 'f'], ['1', 'o'], ['2', 'o'] ]// Other primitives except undefined and null have no own propertiesconsole.log(Object.entries(100)); // []Convertir un objet enMap
Le constructeurMap() accepte un itérable de paires d'entrées. AvecObject.entries, vous pouvez facilement convertir unObject enMap :
const obj = { foo: "bar", baz: 42 };const map = new Map(Object.entries(obj));console.log(map); // Map(2) {"foo" => "bar", "baz" => 42}Itérer sur un objet
En utilisant ladécomposition de tableau, vous pouvez itérer facilement sur les objets.
// Avec une boucle for...ofconst obj = { a: 5, b: 7, c: 9 };for (const [key, value] of Object.entries(obj)) { console.log(`${key} ${value}`); // "a 5", "b 7", "c 9"}// Avec les méthodes de tableauObject.entries(obj).forEach(([key, value]) => { console.log(`${key} ${value}`); // "a 5", "b 7", "c 9"});Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-object.entries> |
Compatibilité des navigateurs
Voir aussi
- Énumérabilité et appartenance des propriétés
- La méthode statique
Object.keys() - La méthode statique
Object.values() - La méthode
Object.prototype.propertyIsEnumerable() - La méthode statique
Object.create() - La méthode statique
Object.fromEntries() - La méthode statique
Object.getOwnPropertyNames() - La méthode
Map.prototype.entries() - Prothèse d'émulation de
Object.entriesdanscore-js(angl.) - Prothèse d'émulation es-shims de
Object.entries(angl.)