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

  • bunnyboxx

    bunnyboxx

    17 NİSAN 2008
  • rekjavicxxx

    rekjavicxxx

    28 EKİM 2007
  • Sergio Lafuente Rubio

    Sergio Lafue

    11 Aralık 2008