SORU
11 ŞUBAT 2011, Cuma


Javascript Liste üreteci yapmak

Ne Javascript bir şeyler yapmak için temiz bir yoldurgibiPython'un liste üreteci?

Python ise nesnelerin bir listesi var, eğer kimin adı 'out' böyle bir şey yapmazdım... çekmek istiyorum ben

list_of_names = [x.name for x in list_of_objects]

Gerçekten bir daha görmek istemiyorum 'güzel' sadece döngü için bir yapı kullanarak farklı yapmanın bir yolu. javascript

BİLGİNİZE: jQuery; belki de bunu mümkün kılan bazı hoş özelliği var.

Daha spesifik olarak, $('input') gibi bir jQuery seçici kullanıyorum ki input bütün unsurlar, nasıl ki almamen temiz bir şekildeinput bu unsurlar--yani, bir dizi $('input').attr('name') dizeyi her biri için name tüm özellikleri bir dizi oluşturmak mı?

CEVAP
11 ŞUBAT 2011, Cuma


genel durum Array.map kullanarak javascript 1.6 gerektirir (bunun anlamı, her tarayıcı ama İE < üzerinde çalışır; 9)yabir nesne ile MooTools gibi artırmada çerçevesinde her tarayıcı üzerinde çalışır:

var list_of_names = document.getElementsByTagName('input').map(
  function(element) { return element.getAttribute('name'); }
);

spesifik bir örnek DV çalışır her tarayıcı:

var list_of_names = jQuery.map(jQuery('input'), function(element) { return jQuery(element).attr('name'); });

diğer cevaplar .each kullanarak yanlış; kod kendisi değil, ama uygulamaları alt-optimal.

Düzenleme:ayrıca sözdizimi Array comprehensions 1.7, ama bu tamamen bağlıdır Javascript tanıtıldı yoktur ve olamaz doğal olmayan tarayıcılar taklit. Bu deftere Python kod Javascript alabilirsiniz yakın şeydir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • fireflame65

    fireflame65

    27 Mart 2007
  • IGN

    IGN

    19 EYLÜL 2006
  • metallmanutza13

    metallmanutz

    13 NİSAN 2007