SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bach Vlogs

    Bach Vlogs

    18 HAZİRAN 2011
  • Juan Carlos Candela Bordera

    Juan Carlos

    4 Mart 2009
  • undrmyumbrellaa

    undrmyumbrel

    25 Temmuz 2012