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

  • My name is Festis and I'm free

    My name is F

    2 EKİM 2011
  • ::..ηєѕѕ мιχ..::

    ::..ηєѕѕ

    15 Aralık 2006
  • o0oCyrusViruso0o

    o0oCyrusViru

    11 Mart 2008