Tengo un objeto JavaScript como
var obj = {
key1: 'value1',
key2: 'value2',
key3: 'value3',
key4: 'value4'
}
¿Cómo puedo obtener la longitud y la lista de claves en este objeto?
javascript
usuario160820
fuente
fuente
Respuestas:
fuente
keys
.Object.prototype
, lo que no debería hacer de todos modos. Para los constructores personalizados, sin embargo, tienes razón.[]
(o enarray()
aquel entonces) lo convierte en una matriz, que luego puede usar como una matriz de forma segura.Es compatible con la mayoría de los principales navegadores ahora.
fuente
for(key in ob)
!Object.keys
No enumera las claves de los prototipos, pero lo.. in obj
hace.Underscore.js hace que la transformación sea bastante limpia:
Editar: Extrañé que tú también puedas hacer esto:
fuente
Si solo desea las claves que son específicas de ese objeto en particular y no las
prototype
propiedades derivadas :p.ej:
fuente
para acceder a cualquier valor del objeto, puede usar obj [clave];
fuente
keys.length
, lo cual es diferente para cada iteración ya que cada iteración inserta un valor.Puedes probar:
esto devolverá:
para obtener la lista de claves o
para obtener los valores
fuente
La respuesta de Anurags es básicamente correcta. Pero para admitir también
Object.keys(obj)
en navegadores antiguos, puede usar el siguiente código que se copia de https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys . Agrega elObject.keys(obj)
método si no está disponible desde el navegador.fuente
Tenga en cuenta que en coffeescript esto se puede lograr en todos los navegadores y nodos como
y por lo tanto
fuente
Solución recursiva para navegadores que admiten ECMAScript 5:
fuente
fuente
Uso
Object.keys()
... es el camino a seguir.La documentación completa está disponible en el sitio MDN vinculado a continuación:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
fuente
Si decides usar Underscore.js, será mejor que lo hagas
fuente
En JavaScript, un objeto es una entidad independiente, con propiedades y tipo.
Para obtener valores del objeto en forma de matriz: Object .values (obj) // obj es el nombre del objeto que utilizó Resultado -> ["value1", "value2", "value3", "value4"]
Para obtener claves del objeto en forma de matriz: Object .keys (obj) // obj es el nombre del objeto que utilizó Resultado -> ["clave1", "clave2", "clave3", "clave4"]
Como ambas funciones devuelven una matriz, puede obtener la longitud de las claves o el valor utilizando la propiedad de longitud. Por ejemplo: Object .values (obj) .length u Object .keys (obj) .length
fuente
Para una cadena delimitada por comas que enumera las claves de un objeto JSON, intente lo siguiente:
fuente
Usando ES6, puedes usar
forEach
para iterar sobre las claves de un objeto. Para obtener todas las claves que puede usar,Object.keys
que devuelve todas las claves en un objetoSería breve el fragmento anterior, que solo toma un parámetro
fuente
fuente
usando el método de cortar, aplicar y unir.
fuente