2009-03-31 11 views
40

मैं एक डोमेन (तिथियों) से दूसरे (टाइमस्टैम्प) तक दो-टुपल्स की सरणी मैप कर रहा हूं। दुर्भाग्यवश, ऐसा लगता है कि jQuery.map दो-टुपल्स को वापस लौटता है, और मुझे do_not_flatten पैरामीटर दिखाई नहीं देता है।क्या कोई jQuery मानचित्र उपयोगिता है जो स्वचालित रूप से फ़्लैट नहीं होती है?

क्या मुझे लाइब्रेरी में कुछ और याद आ रहा है जो ऑटो-फ्लैटन नहीं होगा?

परिशिष्ट: मुझे लगता है कि मैं Array.map नहीं का उपयोग करना चाहिए, जो स्वत: समतल करता है, क्योंकि यह JavaScript 1.6 है। जैसा कि मैं इसे समझता हूं, jQuery को जावास्क्रिप्ट संस्करण को संक्षेप में माना जाता है जिसे मैं संगतता कारणों से चला रहा हूं।

+0

jQuery देवताओं ने कहा कि यह उद्देश्य पर है: http://bugs.jquery.com/ticket/10541 – Pistos

+0

इसे दस्तावेज़ों में लाने के लिए बस एक जीएच मुद्दा खोला गया: https://github.com/jquery/api। jquery.com/issues/990 – Pockets

उत्तर

2

मुझे सच में यकीन नहीं है कि "दो-टुपल" क्या है और मुझे सच में यकीन नहीं है कि मैंने इसे Google परिणामों से सही पाया है। लेकिन क्या आपने jQuery.each पर एक नज़र डाली?

+0

एक दो-टुपल मानों की एक जोड़ी है (x, y)। एक तीन-टुपल तीन मानों का एक सेट है (एक्स, वाई, जेड)। निश्चित रूप से, मैं इसे लूप का उपयोग करके कर सकता हूं, लेकिन 'मैप' का बिंदु यह है कि आप एक इनपुट प्रकार से आउटपुट प्रकार में मैप करने के लिए एक ही फ़ंक्शन का उपयोग करते हैं। – cdleary

+0

शायद मैं अपने लीग से बाहर हूं, लेकिन "इस विधि को प्रदान किया गया अनुवाद फ़ंक्शन सरणी में प्रत्येक आइटम के लिए कहा जाता है" मुझे एक प्रकार का लूप लगता है .. – evilpenguin

+0

क्या आप ऑब्जेक्ट्स के सरणी का उपयोग कर सकते हैं, जैसे [{ए, बी}, {सी, डी}, {ई, एफ}] और क्या आपका कॉलबैक फ़ंक्शन भी ऑब्जेक्ट लौटाता है? – evilpenguin

61

मुझे एक ही समस्या थी; यह पता चला है कि आप सिर्फ $ .map कॉलबैक के भीतर से एक नेस्टेड सरणी लौट सकते हैं और यह बाहरी सरणी समतल नहीं होगा:

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

जबकि:

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

आशा है कि मदद करता है!

+10

वास्तव में साफ! लेकिन गंभीरता से, इस तरह के एक हैक की जरूरत नहीं है। फिर भी धन्यवाद! –

+4

असली बदसूरत, नक्शा समारोह को इस व्यवहार को नियंत्रित करने के लिए एक बुलियन या कुछ स्वीकार करना चाहिए। – monoceres

+5

मुझे लगता है कि मानचित्र फ़ंक्शन को इसके नतीजे को कम नहीं करना चाहिए। मुझे इस व्यवहार को कम करने का कोई कारण नहीं है। ऐसी परिस्थितियों के लिए एक अलग कार्य होना चाहिए जहां कोई परिणाम परिणामस्वरूप चपटा हो। –

संबंधित मुद्दे

 संबंधित मुद्दे