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

  • bashirsultani

    bashirsultan

    22 Mart 2010
  • FASHTAG

    FASHTAG

    5 EYLÜL 2012
  • Influencer Plus

    Influencer P

    2 Ocak 2013