Baseline Widely available
El método estático Object.keys()
devuelve un arreglo de propiedades enumerables propias de un objeto dado.
const object1 = {
a: "somestring",
b: 42,
c: false,
};
console.log(Object.keys(object1));
// Expected output: Array ["a", "b", "c"]
Sintaxis Parámetros Valor devuelto
Un arreglo de strings que representan todas las propiedades del objeto.
DescripciónObject.keys
devuelve un arreglo cuyos elementos son cadenas correspondientes a las propiedades enumerables que se encuentran directamente en el object
. Esto es lo mismo que iterar con un bucle for...in
, excepto que un bucle for...in
también enumera las propiedades en la cadena de prototipo. El orden del arreglo devuelto por Object.keys()
es el mismo que proporciona el bucle for...in
.
Si necesita los valores de la propiedad, use Object.values()
en su lugar. Si necesita ambos las claves de la propiedad como sus valores, use Object.entries()
en su lugar
// Arreglo sencillo
const arr = ["a", "b", "c"];
console.log(Object.keys(arr)); // ['0', '1', '2']
// Arreglo como objeto
const obj = { 0: "a", 1: "b", 2: "c" };
console.log(Object.keys(obj)); // ['0', '1', '2']
// arreglo como objeto con nombres ordenados aleatoriamente
const anObj = { 100: "a", 2: "b", 7: "c" };
console.log(Object.keys(anObj)); // ['2', '7', '100']
// getFoo es una propiedad no enumerable
const myObj = Object.create(
{},
{
getFoo: {
value() {
return this.foo;
},
},
},
);
myObj.foo = 1;
console.log(Object.keys(myObj)); // ['foo']
Si quieres todas las propiedades, incluso las no enumerables, mira Object.getOwnPropertyNames()
.
Los argumentos que no son objetos son objetos forzados. Ãnicamente las cadenas pueden tener propiedades enumerables propias, mientras que todas las demás primitivas devuelven un arreglo vacÃo.
// Las cadenas de texto tienen Ãndices como propiedades propias enumerables
console.log(Object.keys("foo")); // ['0', '1', '2']
// Otros primitivos no tienen propiedas propias
console.log(Object.keys(100)); // []
Nota: En ES5, si el argumento para Object.keys()
no es un objeto, causará TypeError
.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4