Object.values(): cómo obtener los valores de un objeto en JavaScript

Resumen: En este artículo sobre Object.values()
aprenderás cómo este método puede ser utilizado para extraer los valores de las propiedades de un objeto y cómo se puede aplicar en diferentes escenarios. Aprenderás cómo utilizar este método en objetos con propiedades numéricas y no numéricas, en arrays y en objetos heredados. También conocerás algunas limitaciones y precauciones importantes a tener en cuenta al utilizar este método. Al final del artículo, tendrás una comprensión sólida de cómo utilizar Object.values()
en tus proyectos de JavaScript.
Introducción
En este artículo vamos a hablar sobre Object.values()
en JavaScript, un método muy útil que nos permite obtener un array con los valores de las propiedades de un objeto. Al trabajar con objetos en JavaScript, a veces necesitamos acceder únicamente a los valores de sus propiedades, y es aquí donde Object.values()
se convierte en una herramienta muy útil. En este artículo, te mostraré cómo utilizar Object.values()
y algunos ejemplos prácticos para que puedas entender mejor cómo funciona. ¡Comencemos!
¿Qué es Object.values()?
Object.values()
es un método incorporado en JavaScript que se utiliza para devolver un arreglo con los valores de las propiedades enumerables de un objeto. En otras palabras, este método nos permite obtener los valores de las propiedades de un objeto en forma de un arreglo.
Object.values()
funciona de la siguiente manera: toma un objeto como argumento y luego devuelve un arreglo con los valores de las propiedades enumerables de ese objeto. Por ejemplo, si tenemos un objeto con las propiedades "nombre
", "edad
" y "ubicación
", podemos usar
Object.values()
para obtener un arreglo con los valores correspondientes a esas propiedades.
Es importante tener en cuenta que Object.values()
solo devuelve los valores de las propiedades enumerables del objeto y no de las propiedades heredadas. Además, el orden de los valores en el arreglo devuelto por Object.values()
es el mismo que el orden en que aparecen las propiedades en el objeto.
Ejemplos de uso
A continuación, te presento algunos ejemplos de uso de Object.values()
para que puedas ver cómo funciona en diferentes situaciones:
Ejemplo básico
En este ejemplo, creamos un objeto "person
" con algunas propiedades y usamos Object.values()
para obtener un array con los valores de las propiedades:
const person = {
name: 'John',
age: 30,
city: 'New York'
};
const values = Object.values(person);
console.log(values); // Output: ['John', 30, 'New York']
Ejemplo de uso con objetos con propiedades numéricas
También podemos usar Object.values()
con objetos que tienen propiedades numéricas:
const numbers = {
1: 'one',
2: 'two',
3: 'three'
};
const values = Object.values(numbers);
console.log(values); // Output: ['one', 'two', 'three']
Ejemplo de uso con objetos con propiedades no numéricas
Object.values()
también funciona con objetos que tienen propiedades no numéricas:
const colors = {
red: '#FF0000',
green: '#00FF00',
blue: '#0000FF'
};
const values = Object.values(colors);
console.log(values); // Output: ['#FF0000', '#00FF00', '#0000FF']
Ejemplo de uso con arrays
Podemos usar Object.values()
con arrays para obtener un array de los valores de sus elementos:
const numbers = [1, 2, 3];
const values = Object.values(numbers);
console.log(values); // Output: [1, 2, 3]
Ejemplo con uso con objetos heredados
Object.values()
también funciona con objetos heredados, es decir, objetos que tienen un prototipo:
const person = {
name: 'John',
age: 30,
city: 'New York'
};
const employee = Object.create(person, {
id: {
value: 1234,
enumerable: true
},
jobTitle: {
value: 'Developer',
enumerable: true
}
});
const values = Object.values(employee);
console.log(values); // Output: [1234, 'Developer']
En este ejemplo, creamos un objeto "employee
" con un prototipo "person
" y algunas propiedades propias. Usamos Object.values()
para obtener un array con los valores de las propiedades propias de "employee
" (es decir, "id
" y "jobTitle
"). La propiedad "name
" del prototipo "person
" no se incluye en el array resultante porque no es una propiedad propia de "employee".
Limitaciones y precauciones
Aunque Object.values()
es una función útil y fácil de usar, hay algunas limitaciones y precauciones que deben tenerse en cuenta al trabajar con ella. Algunas de estas son:
- Compatibilidad con navegadores:
Object.values()
no es compatible con versiones antiguas de navegadores como Internet Explorer. Por lo tanto, si se desea utilizar esta función en un proyecto, es importante asegurarse de que los navegadores que se utilizan sean compatibles. - Orden de las propiedades: Al utilizar
Object.values()
para recuperar los valores de las propiedades de un objeto, es importante tener en cuenta que los valores se devuelven en el mismo orden que las propiedades se enumeran en el objeto. Sin embargo, esto no siempre garantiza que los valores se devolverán en el mismo orden en que se agregaron al objeto. - Propiedades no enumerables:
Object.values()
solo funciona con propiedades enumerables de un objeto. Si el objeto tiene propiedades no enumerables, no se incluirán en los valores devueltos por la función. - Valores duplicados: Si un objeto tiene propiedades con valores duplicados,
Object.values()
solo devolverá uno de esos valores. Esto se debe a que los objetos en JavaScript no pueden tener dos propiedades con el mismo nombre. - No es una función para modificar objetos: Es importante recordar que
Object.values()
es solo una función para recuperar valores de propiedades de objetos y no se puede utilizar para modificar los objetos o sus propiedades. Si se desea modificar el objeto o sus propiedades, se deben utilizar otras funciones y métodos disponibles en JavaScript.
Es importante tener en cuenta estas limitaciones y precauciones al utilizar Object.values()
en un proyecto para evitar posibles errores y comportamientos inesperados.
Conclusión
En conclusión, Object.values()
es un método útil que nos permite obtener los valores de las propiedades de un objeto en forma de array. Con este método podemos acceder de manera rápida y sencilla a los valores de todas las propiedades de un objeto, ya sean numéricas o no numéricas.
Es importante tener en cuenta las limitaciones y precauciones al utilizar este método, como la posibilidad de perder el orden de las propiedades o de no incluir las propiedades heredadas. Pero en general, Object.values()
es una herramienta valiosa para trabajar con objetos en JavaScript.
Espero que este artículo te haya sido útil para entender mejor cómo funciona Object.values()
y cómo podemos aprovecharlo en nuestros proyectos.