2015-03-09 8 views
22

मैं वास्तव में उस पर संघर्ष कर रहा हूँ, लेकिन मैं एक समाधान नहीं मिल रहा।क्रमबद्ध सरणी

मेरे पास एक सरणी है और मैं इसे मूल्य (सभी पूर्णांक) द्वारा सॉर्ट करना चाहता हूं। मैंने सोचा, अच्छी तरह से की lodash का उपयोग करते हैं, वहाँ यह सुनिश्चित करें कि के लिए एक उपयोगी समारोह होना चाहिए।

किसी तरह मैं इस हालांकि ऐसा करने के लिए को समझ नहीं सकता।

अब तक मैं यह मिल गया:

myArray = _(myArray).sort(); 

लेकिन दुर्भाग्य से वापसी मान एक सरणी अब होना प्रतीत नहीं होता है:

myArray = [3, 4, 2, 9, 4, 2] 

मैं एक परिणाम अगर मैं इस कोड का इस्तेमाल किया गया। myArray.length छंटाई के बाद अपरिभाषित है।

मुझे लॉनाश सॉर्टिंग सरणी के हजारों उदाहरण मिले लेकिन हमेशा कुंजी के माध्यम से। https://lodash.com/docs#sortBy

किसी बता सकते हैं मेरी कैसे मैं एक सरणी के रूप में निम्नलिखित वापसी परिणाम ?:

[2, 2, 3, 4, 4, 9] 

ऐसा नहीं है कि मुश्किल नहीं किया जा सकता है, लेकिन किसी भी तरह मैं इसे नहीं किया मिलता है प्राप्त कर सकते हैं ...

कभी-कभी मुझे लगता है कि लॉनाश दस्तावेज थोड़ा जटिल है। मैं शायद सिर्फ एक महत्वपूर्ण विस्तार बाहर याद कर रहा हूँ ...

+0

लॉनाश के बिना, आप बस 'myArray = myArray.sort() ' – Pete

उत्तर

38

आप यहाँ sortBy() फ़ंक्शन का उपयोग कर सकते हैं। के रूप में यह identity() करना प्रारंभ कर देगा आप एक कुंजी निर्दिष्ट करने के लिए नहीं है।

var myArray = [ 3, 4, 2, 9, 4, 2 ]; 

_.sortBy(myArray); 
// → [ 2, 2, 3, 4, 4, 9 ] 

_(myArray).sortBy().take(3).value(); 
// → [ 2, 2, 3 ] 
+0

ठीक चला सकते हैं। बहुत बहुत धन्यवाद। यह मेरे लिए काम कर रहा है। मैं भी इस कोड को लेने के द्वारा एक परिणाम मिला हालांकि मैं वास्तव में यह समझ में नहीं आता और संकेतन के इस प्रकार कहीं नहीं lodash डॉक्स में नीचे लिखा है। 'myArray = _ (myArray) .sort()। मान();' – Merc

+1

लोडाश रैपर को सरणी विधियों को जोड़ता है, और इसका उल्लेख है [यहां] (https://lodash.com/docs#_) दस्तावेज़ में। –

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