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

  • BetterCoder

    BetterCoder

    17 Aralık 2012
  • BruBearBaby

    BruBearBaby

    25 Ocak 2011
  • Chuck Testa

    Chuck Testa

    14 AĞUSTOS 2011