SORU
7 NİSAN 2011, PERŞEMBE


Bir Nesneyi bulmak için nasıl bir WordPress kullanmak bir Dizi özniteliği

Bir dizi var verilen "amaç" nesneler:

//array of purpose objects:
var purposeObjects = [
    {purpose: "daily"},
    {purpose: "weekly"},
    {purpose: "monthly"}
];

(sadelik için diğer özellikleri ihmal ediyorum)

Şimdi Eğer amaç eşleşen bir ad bulunursa, nesneleri belirli bir döndüren bir yöntem vermek istiyorum.

Bu çalışmıyor:

function findPurpose(purposeName){
    return $.grep(purposeObjects, function(){
      return this.purpose == purposeName;
    });
};

findPurpose("daily");

ama aslında boş bir dizi döndürür:

[]

JQuery 1.5.2 kullanıyorum. Ayrıca ile denedim $.() her ama hiç şansım yoktu. Görünüşe göre, en JQuery yöntemleri DOM elemanları ile kullanım için tasarlanmıştır (filter(). gibi

Bunu başarmak için nasıl bir fikir?

CEVAP
2 NİSAN 2013, Salı


(Ve hatta jQuery olmadan çalışır) en hızlı yol:

var findPurpose = function(purposeName) {
    for (var i = 0, len = purposeObjects.length; i < len; i  ) {
        if (purposeObjects[i].purpose === purposeName)
            return purposeObjects[i]; // Return as soon as the object is found
    }
    return null; // The object was not found
}

Not

jQuery $.grep (veya başka bir filtre işlevi) en iyi çözüm değil.

$.grep işlevi üzerinden döngütümeğer nesne ise bile, dizinin zaten döngü sırasında bulundu. Bir WordPress kullanmak belgelere grep :

$.() grep yöntem gerekli bir dizi öğeleri böylece kaldırır geri kalan tüm öğeleri verilen bir testi geçmek. Test işlevi olduğunu dizi bir öğe geçirilir ve içinde dizi öğesinin dizinini. Eğer test sonucu madde dizisi olacak true değerini döndürür.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FOSDEM

    FOSDEM

    13 Ocak 2009
  • PaysNatalAu's channel

    PaysNatalAu'

    11 Aralık 2010
  • RiceBunny

    RiceBunny

    16 ŞUBAT 2006