SORU
1 Ocak 2010, Cuma


Dizi .Eğer yoksa değil mi? () itin

Nasıl olursa ne değerleri varsa, bir dizi içine itmek olabilir miyim? Burada nesne/json benim dizisi:

[
    { name: "tom", text: "tasty" },
    { name: "tom", text: "tasty" },
    { name: "tom", text: "tasty" },
    { name: "tom", text: "tasty" },
    { name: "tom", text: "tasty" }
]

Eğer denedim tekrar ıkınmaya içinde Dizi ya da name: "tom" text: "tasty" istemiyorum ... bir şey... ama eğer ikiniz de o orada istiyorum .push()

Bunu nasıl yapabilirim?

CEVAP
1 Ocak 2010, Cuma


Özel bir yöntem ile Dizi prototip uzatmak:

// check if an element exists in array using a comparer function
// comparer : function(currentElement)
Array.prototype.inArray = function(comparer) { 
    for(var i=0; i < this.length; i  ) { 
        if(comparer(this[i])) return true; 
    }
    return false; 
}; 

// adds an element to the array if it does not already exist using a comparer 
// function
Array.prototype.pushIfNotExist = function(element, comparer) { 
    if (!this.inArray(comparer)) {
        this.push(element);
    }
}; 

var array = [{ name: "tom", text: "tasty" }];
var element = { name: "tom", text: "tasty" };
array.pushIfNotExist(element, function(e) { 
    return e.name === element.name && e.text === element.text; 
});

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Android Central

    Android Cent

    13 Kasım 2008
  • jat4011

    jat4011

    16 EKİM 2010
  • michal lelkowski

    michal lelko

    9 Temmuz 2006