SORU
11 EKİM 2008, CUMARTESİ


JavaScript kodu hash fonksiyonu herhangi bir tür var mı?

Temelde, benzersiz nesnelerin bir nesne, bir dizi oluşturmak için çalışıyorum. Özellik adları için sadece nesneler JavaScript ile bir nesne kullanarak parlak bir fikir geldi aklıma. Gibi

set[obj] = true;

Bu, bir noktaya kadar işe yarar. String ve rakam, ama diğer nesnelerle, hepsi "" aynı değer ve aynı özellik erişimi. karma gibi görünüyor ile harika çalışıyor Bir nesne için benzersiz bir karma değer üreten bir yolu falan mı var? Nasıl dizeleri ve sayılar, aynı davranışı geçersiz kılmak ne yapabilir?

CEVAP
12 EKİM 2008, Pazar


JavaScript nesneleri sadece anahtarları (başka bir dize dönüştürülür) gibi dizeleri kullanabilirsiniz.

Alternatif olarak, söz konusu nesneler, dizinler, ve nesne için bir referans olarak dizin dize kullanan bir dizi sağlamak. Şöyle bir şey:

var ObjectReference = [];
ObjectReference.push(obj);

set['ObjectReference.'   ObjectReference.indexOf(obj)] = true;

Açıkçası biraz ayrıntılı oldu ama idare yöntemlerden bir çift yazmak ve almak ve tüm willy nilly ayarlayabilirsiniz.

Düzenleme:

Tahminin bu olabilirdi dönüşüm anlam oluşur özellikle JavaScript ... ... davranışları tanımlanır -- özellik adı olarak kullanılacak nesnenin kendi olabilirdi fonksiyon tanımlayabilir gerçektir. - olliej

Bu arada ilginç bir noktaya getirir; karma ve karma tanımlayıcı form nesneleri üzerinde olabilirdi yöntemi tanımlayabilirsiniz.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Floortile83

    Floortile83

    16 Ocak 2010
  • Mr. H

    Mr. H

    1 Temmuz 2012
  • RiceBunny

    RiceBunny

    16 ŞUBAT 2006