Javascript Liste üreteci yapmak | Netgez.com
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

  • Electro Posé

    Electro PosÃ

    21 ÅžUBAT 2013
  • FrameCityJackal

    FrameCityJac

    4 Aralık 2010
  • Gali B

    Gali B

    1 EYLÜL 2006