SORU
28 Mart 2012, ÇARŞAMBA


JavaScript nesne değeri anahtarı al

İlişkilendirilebilir bir dizi olan oldukça basit bir JavaScript nesne var. Basit bir fonksiyon bana bir değer için anahtarı almak için izin var mı, yoksa nesne yineleme ve elle bulmak zorunda mıyım?

CEVAP
28 Mart 2012, ÇARŞAMBA


Standart bir yöntem mevcut. Tekrarlamak gerekir ve basit bir yardımcı oluşturabilirsiniz:

Object.prototype.getKeyByValue = function( value ) {
    for( var prop in this ) {
        if( this.hasOwnProperty( prop ) ) {
             if( this[ prop ] === value )
                 return prop;
        }
    }
}

var test = {
   key1: 42,
   key2: 'foo'
};

test.getKeyByValue( 42 );  // returns 'key1'

Dikkatli bir kelime: Yukarıda çalışırsa bile, genellikle kötü herhangi bir ana bilgisayar veya ana nesne genişletmek için fikir .prototype. Sorunu çok iyi uyuyor, çünkü burada yaptım. Her neyse, muhtemelen .prototype dışında bu işlevi kullanın ve nesne yerine geçmesi gerekir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bigapplemagic

    Bigapplemagi

    22 EYLÜL 2011
  • KoreanFrogMania님의 채널

    KoreanFrogMa

    18 Aralık 2011
  • Rootjunky.com

    Rootjunky.co

    22 EKİM 2011