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

  • Best Quality Cartoons

    Best Quality

    10 ŞUBAT 2014
  • chickenby

    chickenby

    2 HAZİRAN 2008
  • Tutorials Junction

    Tutorials Ju

    1 Ocak 2014