Por supuesto, Object.keys()
es la mejor manera de obtener las claves de un Objeto. Si no está disponible en su entorno, se puede trivializar usando código como en su ejemplo (excepto que tendrá que tener en cuenta que su bucle iterará sobre todas las propiedades de la cadena del prototipo, a diferencia Object.keys()
del comportamiento).
Sin embargo, su código de ejemplo ...
var foo = { 'alpha' : 'puffin', 'beta' : 'beagle' };
var keys = [];
for (var key in foo) {
keys.push(key);
}
jsFiddle .
... podría ser modificado. Puede hacer la tarea directamente en la parte variable .
var foo = { 'alpha' : 'puffin', 'beta' : 'beagle' };
var keys = [], i = 0;
for (keys[i++] in foo) {}
jsFiddle .
Por supuesto, este comportamiento es diferente de lo que Object.keys()
realmente hace ( jsFiddle ). Simplemente puede usar la cuña en la documentación de MDN .
if(foo.hasOwnProperty(key))
, eso es lo que haría. O usar$.map
.