20 AĞUSTOS 2008, ÇARŞAMBA
Nasıl bir karma anahtarları bulmak için?
Karma çift olarak javascript Nesneleri biliyorum ama yerleşik anahtarları almak için bir fonksiyonu bulmak mümkün olmuştur
var h = {a:'b',c:'d'};
Gibi bir şey istiyorum
var k = h.keys() ; // k = ['a','c'];
Öğeleri üzerinde yineleme ve dönmem bir dizi anahtarları eklemek için bir işlevi yazmak kolaydır, ama bunu yapmak için standart temiz bir yolu var mı ?
Kaçırdığım basit bir fonksiyon inşa edilmelidir hissediyorum ama bulamıyorum!
CEVAP
3 AĞUSTOS 2011, ÇARŞAMBA
Modern javascript (ECMAScript 5) Object.keys
bu operasyonu adı verilen işlevi vardır:
var obj = { "a" : 1, "b" : 2, "c" : 3};
alert(Object.keys(obj)); // will output ["a", "b", "c"]
Uyumluluk detaylar here bulunabilir.
Mozilla site geriye doğru uyumluluk için de bir makasla var:
if(!Object.keys) Object.keys = function(o){
if (o !== Object(o))
throw new TypeError('Object.keys called on non-object');
var ret=[],p;
for(p in o) if(Object.prototype.hasOwnProperty.call(o,p)) ret.push(p);
return ret;
}
Bunu Paylaş:
Nasıl karma bir anahtar eşleşen bir de...
Nasıl PHP bir karma parolalar için bcr...
Nasıl verimli bir şekilde anahtarları/...
Nasıl bir DOM düğüm üzerinde olay dinl...
bir öğe veri-öznitelik değeri için bir...