2012-04-10 15 views
6

मैं निम्नलिखित डेटा के साथ एक सरणीUnderscore.js में एक सरणी से मानों की एक श्रेणी लौट

var a = [1,2,3,4,5,6,7] 

मैं Underscore.js या backbone.js जिसमें मैं लौट सकते हैं में एक विधि के लिए देख रहा हूँ है एक निर्दिष्ट सीमा के साथ तत्व। पूर्व के लिए:

filter(2,5) should return [3,4,5,6] 

जो सरणी में 2 से 5 वें इंडेक्स तत्व हैं। मेरे लिए कोई संकेतक?

उत्तर

30

जावास्क्रिप्ट सरणी नीचे की तरह परिभाषित किया जाना चाहिए,

var a = [1,2,3,4,5,6,7]; //not inside {} 

और फिर आप सरणी देशी slice विधि का उपयोग एक विशिष्ट स्थान से तत्वों प्राप्त करने के लिए कर सकते हैं

a.slice(2, 6) //should return 3,4,5,6 

संपादित करें:

मुझे बहुत अच्छी तरह पता है कि कार्यक्षमता उपलब्ध है जेस्क्रिप्ट में मैं पूछ रहा था कि क्या यह रीढ़ की हड्डी या अंडरस्कोर में उपलब्ध है। आप पूछ रहे हैं कि आप पानी के बजाय बर्फ घन क्यों चाहते हैं क्योंकि बर्फ अंततः पानी में बदल जाएगा।

अंडरस्कोर js slice की तरह कार्य नहीं है के रूप में यह देशी js में पहले से ही उपलब्ध है।

+0

कुछ भी? – cherit

+15

यदि आप जावास्क्रिप्ट में मूल रूप से उपलब्ध हैं तो अंडरस्कोर या रीढ़ की हड्डी से आने के लिए आपको इस कार्यक्षमता की आवश्यकता क्यों होगी? आखिरकार, यदि आप अंडरस्कोर या रीढ़ की हड्डी का उपयोग कर रहे हैं, तो आप जावास्क्रिप्ट का उपयोग कर रहे हैं। –

+2

@TitoCheriachan कि पानी और बर्फ तुलना पूरी तरह से समान नहीं है। वैसे भी अंडरस्कोर/रीढ़ की हड्डी जेएस में स्लाइस की तरह काम नहीं है क्योंकि यह मूल जेएस में पहले से ही उपलब्ध है। मौजूदा सुविधा में किसी भी सुधार का प्रस्ताव किए बिना स्लाइस जैसे फीचर को लागू करने का कोई कारण नहीं है। –

1

चरण 1:

स्विच Lodash करने के लिए। (https://lodash.com/)

नोट: खतरनाक कदम, आप कभी वापस नहीं जाएंगे।

चरण 2:

उपयोग _.slice समारोह इस तरह: अंडरस्कोर या रीढ़ की हड्डी से

_.slice(a, 2, 5)

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