MDN wants to talk to developers like you: https://qsurvey.mozilla.com/s3/8d22564490d8

Object.values()

Esta traducción está incompleta. Por favor, ayuda a traducir este artículo del inglés.

This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.

El método Object.values() devuelve un array que contiene 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)

Parametros

obj
Es el objeto que el método Object.values() procesa para devolver todas las propiedades que son únicamente de dicho objeto y que son enumerables.

Valor devuelto

Este método devuelve un array con las propiedades enumerables del objeto pasado como parámetro.

Descripción

El método Object.values() devuelve un array que contiene los valores de las propiedades que son enumerables del objeto pasado como parámetro. Hay que tener en cuenta que este método sólo devuelve las propiedades enumerables del objeto pasado como parámetro y no la de todos los objetos que forman parte de la cadena de prototipos de dicho objeto.

El orden de las propiedades es el mismo que el dado cuando se recorrer 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

No todos los navegadores soportan el método Object.values(), por lo que puedes encontrar un Polyfill en tc39/proposal-object-values-entries o en los repositorio es-shims/Object.values

 

Especificaciones

Especificación Estado Comentario
ECMAScript 2017 Draft (ECMA-262)
The definition of 'Object.values' in that specification.
Draft Definición inicial

Compatibilidad de navegadores

Característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Soporte básico 51.0 [1] 47 (47) No support No support No support [2]
Característica Android Android Webview Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Soporte básico No support 51.0 [1] 47.0 (47) No support No support No support 51.0 [1]

[1] Behind a flag.

[2] See bug 150131.

Ver también

Etiquetas y colaboradores del documento

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