Object.values()

Cette fonction est expérimentale
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

La méthode Object.values() renvoie un tableau contenant les valeurs des propriétés propres énumérables d'un objet dont l'ordre est le même que celui obtenu avec une boucle for...in (la boucle for-in est différente car elle parcourt également les propriétés héritées.

Syntaxe

Object.values(obj)

Paramètres

obj
L'objet dont on souhaite connaître les valeurs des propriétés propres énumérables.

Valeur de retour

Un tableau dont les éléments sont les valeurs des propriétés énumérables de l'objet passé en argument.

Description

Object.values() renvoie un tableau dont les éléments sont les valeurs des propriétés énumérables directement rattachées à l'objet passé en argument. L'ordre du tableau est le même que celui obtenu lorsqu'on parcourt les propriétés manuellement.

Exemples

var obj = { toto: "truc", machin: 42 };
console.log(Object.values(obj)); // ['truc', 42]

// un objet semblable à un tableau
var obj = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.values(obj)); // ['a', 'b', 'c']

// un objet semblable à un tableau
// dont les clés sont ordonnées aléatoirement
var un_obj = { 100: 'a', 2: 'b', 7: 'c' };
console.log(Object.values(un_obj)); // ['b', 'c', 'a']

// getToto est une propriété qui
// n'est pas énumérable
var mon_obj = Object.create({}, { getToto: { value: function() { return this.toto; } } });
mon_obj.toto = "truc";
console.log(Object.values(mon_obj)); // ['truc']

// un argument de type primitif sera
// converti en un objet
console.log(Object.values("toto")); // ['t', 'o', 't', 'o']

Prothèse d'émulation (polyfill)

Afin d'ajouter le support pour Object.values 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.values.

Spécifications

Spécification État Commentaires
ECMAScript 2017 Draft (ECMA-262)
La définition de 'Object.values' dans cette spécification.
Projet Initial definition.

Compatibilité des navigateurs

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
Support simple 51.0 [1] 47 (47) Pas de support Pas de support Pas de support [2]
Fonctionnalité Android Chrome pour Android Webview Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support simple Pas de support 51.0 [1] 51.0 [1] 47.0 (47) Pas de support Pas de support Pas de support

[1] Peut être activé via chrome://flags.

[2] Voir le bug 150131.

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : SphinxKnight
 Dernière mise à jour par : SphinxKnight,