SORU
15 EKİM 2010, Cuma


Nasıl bir WordPress kullanmak dizi döngü?

Bir dizi döngü çalışıyorum. Aşağıdaki kodu var:

 var substr = currnt_image_list.split(','); //This will split up 21,32,234,223,

Ben bu dizinin dışında tüm veriler elde etmeye çalışıyorum. Bazı biri bana doğru yolu lütfen açabilir?

CEVAP
15 EKİM 2010, Cuma



(Güncelleme:* *29 seriyor olmayan bir WordPress kullanmak seçenekleri çok daha iyice. Benim Üçüncü seçeneği altında, jQuery.each, ama değil.)


Üç seçenek:

Genel döngü:

var i;
for (i = 0; i < substr.length;   i) {
    // do something with `substr[i]`
}

Avantajları: Düz ileri, bağımlılık üzerinde DV kolay anlaşılır, hiçbir sorunları ile korunması anlamını this içinde vücudun döngü, gereksiz yük işlev çağrıları (örneğin,teoridaha hızlı, ama aslında oran problemleri; details) Diğer olurdu böylece birçok unsur olması lazım.

ES5 forEach:

ECMAScript5, diziler kadar kolay aracılığıyla dizi döngü yapar: forEach bir fonksiyon

substr.forEach(function(item) {
    // do something with `item`
});

Link to docs

(Not: diğer fonksiyonları çok değil sadece forEach; ayrıntılar için the answer referenced above bkz.) vardır

Avantajları: Bildirge, kullanabileceğiniz bir hazır fonksiyonu için yineleyici bir kullanışlı, eğer döngü vücut karmaşık kapsayan bir işlev çağrısı bazen faydalı, bir i değişken içeren, kapsamı.

Dezavantajları: Tüm tarayıcılar en çok yapmak olsa da henüz var, ve her zaman henüz yok tarayıcılarında sağlamak için ES5 bir shim (arar bir liste çeşitli) kullanabilirsiniz. Kullanıyorsanız this içeren kodu, sadık bir değişken kadar kullanabilirsiniz içindeki fonksiyonu veya geçmek gibi bir ikinci tartışma forEach beri içinde yineleme fonksiyonu this undefined (katı modda) veya genel nesne (window) olmayan katı mod sürece ver forEach belirli bir değer için.

bir WordPress kullanmak.her:

jQuery.each(substr, function(index, item) {
    // do something with `item` (or `this` is also `item` if you like)
});

(Link to docs)

Avantajları: Bunu sen de biliyorsun artı forEach, aynı avantajları var jQuery kullanıyorsanız beri.

Dezavantajları: Kullanıyorsanız this içeren kodu, sadık bir değişken kadar kullanabilirsiniz içindeki işlevi, beri this demek başka bir işlev içinde.

NeDEĞİLyapmak için:

Yokbunun için for..in (ya da eğer bunu yaparsanız, uygun önlemler ile) kullanın. Göreceksin herkes için (aslında, kısaca orada burada bir cevap bunu söylüyor), ama for..in değil ne çok insan düşünmek yok. bir şey daha yararlı!). Özellikle for..in bir nesnenin sayısız özellik adları (dizi dizinler değil) aracılığıyla döngüsü. Diziler beri nesneleri ve sadece sayısız özelliklerivarsayılan olarakdizinler, çoğunlukla mülayim bir dağıtım iş sıralama gibi görünüyor. Ama bunun için sadece kullanabileceğiniz güvenli bir varsayım değil. Burada bir keşif: http://jsbin.com/exohi/3

""Yukarıda. sakın yumuşatmak gerekir Eğer karşınıza alıyorsunuz seyrek diziler (örneğin, bir dizi vardır 15 madde toplam ama onların dizinler mayınları karşısında aralığı 0 150.000 nedense, bu yüzden length 150,001),veeğer kullanmanız yeterli koruma gibi hasOwnProperty ve kontrol özelliği gerçekten sayısal (bkz: link yukarıda), for..in olabilir gayet mantıklı bir şekilde önlemek için bir sürü gereksiz döngüler, tek nüfuslu dizinler olacak numaralandırılmış.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • androidandme

    androidandme

    10 Mart 2009
  • David MeShow

    David MeShow

    10 EKİM 2006
  • TV nEW

    TV nEW

    25 AĞUSTOS 2012