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

  • HouseholdHacker

    HouseholdHac

    6 Kasım 2007
  • Tina Chen

    Tina Chen

    26 Mayıs 2012
  • Tube Time

    Tube Time

    14 Mayıs 2013