SORU
5 HAZİRAN 2009, Cuma


Javascript bir nesne öğe sayısı

Bir yol (bir yerden) javascript bir nesne öğe sayısını almak için var mı?? (sürekli ve karmaşıklık gibi).

Ben bunu daha bilgi almak özellik veya yöntem bulmak. Şimdiye kadar sadece tüm koleksiyon boyunca yineleme yapmak isterdim ama bu doğrusal zaman.
Nesnenin boyutunu doğrudan erişim yok, sence de garip değil.

DÜZENLEME:
Object nesne (nesneler genel olarak değil) bahsediyorum:

var obj = new Object ;

CEVAP
5 HAZİRAN 2009, Cuma


JS uygulamaları gibi bir değeri parça DAHİLİ olarak devam etmiş olsa da, onu elde etmek için standart bir yolu yok.

Geçmişte, Mozilla Javascript değişken non-standard __count__ ama sürüm 1.8.5 ile kaldırıldı maruz.

Cross-browser kodlama için açıkça özellikleri üzerinden yineleme ve hasOwnProperty() kontrol kaldın:

function countProperties(obj) {
    var count = 0;

    for(var prop in obj) {
        if(obj.hasOwnProperty(prop))
              count;
    }

    return count;
}

5 yetenekli ECMA uygulamaları durumunda, bu da (Avi Flax Şeref) olarak yazılabilir

function countProperties(obj) {
    return Object.keys(obj).length;
}

Ayrıca sayısız olmayan özellikleri (örneğin, bir dizi length) kaçıracaksın unutmayın.

Kullanıyorsanız bir çerçeve gibi metro ajans, Prototip, Mootools, dolar ne olursa olsun-en-yutturmaca, kontrol gelirlerse kendi koleksiyonları API, hangi olabilir daha iyi bir çözüm için sorunu daha kullanarak yerel JS nesneleri.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AutoStream's Garage419

    AutoStream's

    15 EKİM 2007
  • pilslajt

    pilslajt

    20 HAZİRAN 2008
  • pjtoohot

    pjtoohot

    15 NİSAN 2008