Object.fromEntries()
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 janvier 2020.
La méthode Object.fromEntries() permet de transformer une liste de paires de clés/valeurs en un objet.
Exemple interactif
const entries = new Map([
["foo", "bar"],
["baz", 42],
]);
const obj = Object.fromEntries(entries);
console.log(obj);
// Expected output: Object { foo: "bar", baz: 42 }
Syntaxe
Object.fromEntries(iterable);
Paramètres
iterable-
Un itérable tel qu'un tableau (
Array) ou uneMapou tout autre objet qui implémente le protocole itérable.
Valeur de retour
Un nouvel objet dont les propriétés sont fournies par les éléments de l'itérable.
Description
La méthode Object.fromEntries() prend comme argument une liste de paires de clés-valeurs et renvoie un nouvel objet dont les propriétés sont fournies par ces clés-valeurs. L'argument iterable doit implémenter une méthode @@iterator qui renvoie un itérateur produisant un objet semblable à un tableau avec deux éléments ; le premier élément est une valeur qui sera utilisée comme clé de la propriété et le second élément sera utilisé comme valeur associée à cette clé.
Object.fromEntries() est la fonction inverse de Object.entries().
Exemples
>Convertir une Map en un Object
Grâce à Object.fromEntries, on peut convertir des objets Map en Object :
const map = new Map([
["toto", "truc"],
["machin", 42],
]);
const obj = Object.fromEntries(map);
console.log(obj); // { toto: "truc", machin: 42 }
Convertir un Array en un Object
Grâce à Object.fromEntries, on peut convertir des objets Array en Object :
const arr = [
["0", "a"],
["1", "b"],
["2", "c"],
];
const obj = Object.fromEntries(arr);
console.log(obj); // { 0: "a", 1: "b", 2: "c" }
Transformer des objets
Avec Object.fromEntries et la méthode réciproque Object.entries(), et les méthodes de manipulation de tableaux, on peut transformer des objets :
const object1 = { a: 1, b: 2, c: 3 };
const object2 = Object.fromEntries(
Object.entries(object1).map(([key, val]) => [key, val * 2]),
);
console.log(object2);
// { a: 2, b: 4, c: 6 }
Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-object.fromentries> |
Compatibilité des navigateurs
Chargement…