| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Object/entries | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
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 mthode statique Object.entries() retourne un tableau contenant les paires cl-valeur des proprits propres numrables d'un objet, dont les cls sont des chanes de caractres.
const object = {
a: "some string",
b: 42,
};
for (const [key, value] of Object.entries(object)) {
console.log(`${key}: ${value}`);
}
// Rsultat attendu :
// "a: some string"
// "b: 42"
Object.entries(obj)
objUn objet.
Un tableau contenant les paires cl-valeur des proprits propres numrables de l'objet donn, dont les cls sont des chanes de caractres. Chaque paire cl-valeur est un tableau de deux lments : le premier lment est la cl (toujours une chane de caractres), le second est la valeur de la proprit.
Object.entries() retourne un tableau dont les lments sont des tableaux correspondant aux paires cl-valeur des proprits propres numrables cls de chanes de caractres trouves directement sur l'objet. Cela quivaut itrer avec une boucle for...in, sauf qu'une boucle for...in numre aussi les proprits de la chane de prototypes. L'ordre du tableau retourn par Object.entries() est le mme que celui fourni par une boucle for...in.
Si vous n'avez besoin que des cls, utilisez Object.keys(). Si vous n'avez besoin que des valeurs, utilisez Object.values().
Object.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 proprit non numrable
const myObj = Object.create(
{},
{
getFoo: {
value() {
return this.foo;
},
},
},
);
myObj.foo = "bar";
console.log(Object.entries(myObj)); // [ ['foo', 'bar'] ]
Object.entries() sur des valeurs primitivesLes arguments qui ne sont pas des objets sont convertis en objets. undefined et null ne peuvent pas tre convertis en objets et lvent immdiatement une TypeError. Seules les chanes de caractres peuvent avoir des proprits propres numrables, tandis que toutes les autres primitives retournent un tableau vide.
// Strings have indices as enumerable own properties
console.log(Object.entries("foo")); // [ ['0', 'f'], ['1', 'o'], ['2', 'o'] ]
// Other primitives except undefined and null have no own properties
console.log(Object.entries(100)); // []
MapLe constructeur Map() accepte un itrable de paires d'entres. Avec Object.entries, vous pouvez facilement convertir un Object en Map :
const obj = { foo: "bar", baz: 42 };
const map = new Map(Object.entries(obj));
console.log(map); // Map(2) {"foo" => "bar", "baz" => 42}
En utilisant la dcomposition de tableau, vous pouvez itrer facilement sur les objets.
// Avec une boucle for...of
const 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 mthodes de tableau
Object.entries(obj).forEach(([key, value]) => {
console.log(`${key} ${value}`); // "a 5", "b 7", "c 9"
});
| Spcification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-object.entries |
Object.keys()Object.values()Object.prototype.propertyIsEnumerable()Object.create()Object.fromEntries()Object.getOwnPropertyNames()Map.prototype.entries()Object.entries dans core-js (angl.)Object.entries (angl.)Cette page a t modifie le 25 nov. 2025 par les contributeurices du MDN.
ObjectObject.assign()Object.create()Object.defineProperties()Object.defineProperty()entries()Object.freeze()Object.fromEntries()Object.getOwnPropertyDescriptor()Object.getOwnPropertyDescriptors()Object.getOwnPropertyNames()Object.getOwnPropertySymbols()Object.getPrototypeOf()Object.groupBy()Object.hasOwn()Object.is()Object.isExtensible()Object.isFrozen()Object.isSealed()Object.keys()Object.preventExtensions()Object.seal()Object.setPrototypeOf()Object.values()Object.prototype.__defineGetter__()Object.prototype.__defineSetter__()Object.prototype.__lookupGetter__()Object.prototype.__lookupSetter__()Object.prototype.hasOwnProperty()Object.prototype.isPrototypeOf()Object.prototype.propertyIsEnumerable()Object.prototype.toLocaleString()Object.prototype.toString()Object.prototype.valueOf()Object/FunctionObject.prototype.__defineGetter__()Object.prototype.__defineSetter__()Object.prototype.__lookupGetter__()Object.prototype.__lookupSetter__()Object.prototype.hasOwnProperty()Object.prototype.isPrototypeOf()Object.prototype.propertyIsEnumerable()Object.prototype.toLocaleString()Object.prototype.toString()Object.prototype.valueOf()Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |