El método Object.values() devuelve un array que contiene los valores de las propiedades enumerables de un objeto dado,  en el mismo orden que ha proporcionado un bucle de tipo: for...in (la diferencia viene dada por que un bucle for-in enumera propiedades en la cadena de prototipo de un objeto).

Sintaxis

Object.values(obj)

Parámetros

obj
Objeto cuyas propiedades enumerables serán devueltas.

Valor devuelto

Un array con las propiedades enumerables del objeto pasado como parámetro.

Descripción

El método Object.values() devuelve un array cuyos elementos son valores de propiedades enumarables que se encuentran en el objeto. El orden de las propiedades es el mismo que el dado cuando se recorre el objeto de forma manual.

Ejemplos

var obj = { foo: 'bar', baz: 42 };
console.log(Object.values(obj)); // ['bar', 42]

// array como objeto
var obj = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.values(obj)); // ['a', 'b', 'c']

// array como objeto con una ordenación aleatoria de las claves
var an_obj = { 100: 'a', 2: 'b', 7: 'c' };
console.log(Object.values(an_obj)); // ['b', 'c', 'a']

// getFoo no es una propiedade enumerable, por lo que como se observa, no se devuelve
var my_obj = Object.create({}, { getFoo: { value: function() { return this.foo; } } });
my_obj.foo = 'bar';
console.log(Object.values(my_obj)); // ['bar']

// parámetros que no son Objetos se fuerzan a que se comporten como tal
console.log(Object.values('foo')); // ['f', 'o', 'o']

Polyfill

Para dar soporte compatible con  Object.values() a entornos antiguos que no la soportan de forma nativa, puedes encontrar un Polyfill en tc39/proposal-object-values-entries o en los repositorios es-shims/Object.values.

Especificaciones

Especificación Estado Comentario
ECMAScript Latest Draft (ECMA-262)
La definición de 'Object.values' en esta especificación.
Draft Definición inicial.
ECMAScript 2017 (ECMA-262)
La definición de 'Object.values' en esta especificación.
Standard  

Compatibilidad en navegadores

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung InternetNode.js
Soporte básicoChrome Soporte completo 54Edge Soporte completo 14Firefox Soporte completo 47IE Sin soporte NoOpera Soporte completo 41Safari Soporte completo 10.1WebView Android Soporte completo 54Chrome Android Soporte completo 54Edge Mobile Soporte completo SiFirefox Android Soporte completo 47Opera Android Soporte completo 41Safari iOS Soporte completo 10.3Samsung Internet Android Soporte completo 6.0nodejs Soporte completo 7.0.0
Soporte completo 7.0.0
Soporte completo 6.5.0
Deshabilitado
Deshabilitado From version 6.5.0: this feature is behind the --harmony runtime flag.

Leyenda

Soporte completo  
Soporte completo
Sin soporte  
Sin soporte
El usuario debe de habilitar explícitamente esta característica.
El usuario debe de habilitar explícitamente esta característica.

Ver también

Etiquetas y colaboradores del documento

Colaboradores en esta página: kraneok, AlePerez92, ramses512
Última actualización por: kraneok,