2009-03-31 17 views
40

Başka (damgaları) bir alandan gelen iki küpe (tarihleri) bir dizi haritalama ediyorum. jQuery.map ben dönmek iki dizilerini otomatik düzleştirir ve ben bir do_not_flatten parametre görmüyorum gibi maalesef görünüyor.Otomatik olarak düzleştirilmeyen bir jQuery harita yardımcı programı var mı?

Ben otomatik dümdüz olmaz kütüphanede başka bir şey eksik?

Zeyilname: Ben otomatik dümdüz etmeyen, Array.map kullanarak gerektiğini bunun JavaScript 1.6 çünkü, varsayalım. Anladığım kadarıyla jQuery, uyumluluk nedenleriyle çalıştığım JavaScript sürümünü soyutlamak zorunda.

+0

jQuery devs, bunun şu amaç için hazırlandığını söyledi: http://bugs.jquery.com/ticket/10541 – Pistos

+0

Bunu bir dokümana yerleştirmek için bir GH sorunu açtık: https://github.com/jquery/api. jquery.com/issues/990 – Pockets

cevap

2

ben "iki-lü" ve ben doğru baktım Google sonuçları aldım gerçekten emin değilim gerçekten emin değilim. Ama jQuery.each'a bir göz attın mı?

+0

İki tuple bir çift değerdir (x, y). Üç tuple üç değerden oluşur (x, y, z). Tabii ki, bir döngü kullanarak yapabilirdim, ancak 'map' noktası, bir giriş tipinden çıkış türüne eşlemek için tek bir fonksiyon kullanmanızdır. – cdleary

+0

Belki, – evilpenguin

+0

belki nesnelerin diziler kullanmak Could .. "Bu yönteme sağlanan çeviri işlevi dizideki her öğe için çağrılır" Bana bir döngünün bir tür gibi görünüyor alanımın dışında, ama [{a, b}, {c, d}, {e, f}] gibi ve geriçağırım işleviniz de bir nesne döndürüyor mu? – evilpenguin

61
aynı sorunu vardı

; Eğer sadece $ .map callback'inde içinden iç içe bir dizi dönebilirsiniz çıkıyor ve dış dizi dümdüz olmaz: yardımcı

$.map([1, 2, 3], function(element, index) { 
    return [ [ element + 1, element + 2 ] ]; 
}); 
=> [[2, 3], [3, 4], [4, 5]] 

Hope: Oysa

$.map([1, 2, 3], function(element, index) { 
    return [ element + 1, element + 2 ]; 
}); 
=> [2, 3, 3, 4, 4, 5] 

!

+10

Gerçekten temiz! Ama cidden, böyle bir hack gerekli değildir. Yine de teşekkürler! –

+4

Gerçekten çirkin, harita işlevi bu davranışı kontrol etmek için bir boole ya da bir şey kabul etmelidir. – monoceres

+5

Harita fonksiyonunun sonucunu hiç düzleştirmemesi gerektiğini düşünüyorum. Bu davranışı istemek için nadiren bir nedenim var. Birinin sonucun düzleşmesini istediği durumlar için ayrı bir işlev olmalıdır. –

İlgili konular