आप सरणी को सॉर्ट करने के लिए Array.sort
विधि का उपयोग कर सकते हैं। एक सॉर्टिंग समारोह है कि छँटाई मापदंड के रूप में स्ट्रिंग की लंबाई पर विचार करता है इस प्रकार के रूप में इस्तेमाल किया जा सकता है:
arr.sort(function(a, b){
// ASC -> a.length - b.length
// DESC -> b.length - a.length
return b.length - a.length;
});
नोट: स्ट्रिंग की लंबाई से ["a", "b", "c"]
छँटाई ["a", "b", "c"]
वापस जाने के लिए गारंटी नहीं है। the specs के अनुसार:
तरह जरूरी स्थिर नहीं है (अर्थात, तत्वों की तुलना कि बराबर जरूरी उनके मूल क्रम में नहीं रहते हैं) है।
उद्देश्य शब्दकोश आदेश से तो लंबाई से सॉर्ट करने के लिए आप अतिरिक्त मापदंड निर्दिष्ट करना होगा है:
["c", "a", "b"].sort(function(a, b) {
return a.length - b.length || // sort by length, if equal then
a.localeCompare(b); // sort by dictionary order
});
स्रोत
2012-05-17 06:24:48
[ 'sort'] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/sort) सुंदर सीधे आगे, तुम कहाँ हो रही है है कठिनाई? –
@muistooshort अच्छी तरह से डिफ़ॉल्ट सॉर्ट() तारों को वर्णानुक्रम से टाइप करता है, वह स्ट्रिंग। लम्बाई सॉर्टिंग की तलाश में था जैसा कि चयनित उत्तर में देखा जा सकता है :) –