Tabii ki, bir Nesnenin anahtarlarını almanın Object.keys()
en iyi yolu. Ortamınızda yoksa , örneğinizdeki gibi kod kullanılarak önemsiz bir şekilde takılabilir (ancak, döngünüzün , Object.keys()
davranışının aksine, prototip zincirindeki tüm özellikler üzerinde yineleneceğini dikkate almanız gerekir ).
Ancak, örnek kodunuz ...
var foo = { 'alpha' : 'puffin', 'beta' : 'beagle' };
var keys = [];
for (var key in foo) {
keys.push(key);
}
jsFiddle .
... değiştirilebilir. Atamayı doğrudan değişken kısımda yapabilirsiniz.
var foo = { 'alpha' : 'puffin', 'beta' : 'beagle' };
var keys = [], i = 0;
for (keys[i++] in foo) {}
jsFiddle .
Tabii ki, bu davranış Object.keys()
gerçekte ne yaptığından farklıdır ( jsFiddle ). MDN belgelerindeki şimi kullanabilirsiniz .
if(foo.hasOwnProperty(key))
bunu yapardım. Veya kullanın$.map
.