تحلل هذه المقالة مبدأ طريقة فرز الصفيف في JS. شاركه للرجوع إليه. التحليل المحدد هو كما يلي:
في الآونة الأخيرة ، استخدمت صفائف الفرز في مشاريع Baidu. بالطبع ، لقد فكرت بشكل طبيعي في طريقة نوع المصفوفات في البداية. هذه الطريقة بسيطة للغاية للتطبيق ، على النحو التالي:
نسخة الكود كما يلي: window.onload = function () {
VAR ARR = [2،55،55،1،75،3،9،35،70،166،432،678،32،98] ؛
var arr2 = ["George" ، "John" ، "Thomas" ، "James" ، "Adrew" ، "Martin"] ؛
وظيفة arrrsort (a ، b) {
العودة AB.
}
console.log (arr.sort (Arrsort)) ؛ // فرز الرقم يتطلب وظيفة. إذا كنت ترغب في الفرز من كبير إلى صغير ، فالتراجع.
console.log (arr2.sort ()) ؛ // الحروف غير مطلوبة
}
لكنني فكرت فجأة لماذا الاستخدام البسيط بسيط للغاية وما هو مبدأه؟ لذلك حاولت عدم فرز الصفيف مع النوع. المبدأ هو العثور على الحد الأدنى لقيمة الصفيف وإدخاله في صفيف جديد ، ثم حذف الحد الأدنى من القيمة في الصفيف ، ثم تحديث الصفيف والاستمرار في البحث عن الحد الأدنى لقيمة لإدراجها. هذه الحلقة كما يلي:
نسخة الكود كما يلي: window.onload = function () {
VAR ARR = [2،55،55،1،75،3،9،35،70،166،432،678،32،98] ؛
var len = arr.length ؛
console.log (arr.join ("،")) ؛
var newarr = [] ؛
لـ (var i = 0 ؛ i <len ؛ i ++) {
newarr.push (math.min.apply (null ، arr)) ؛ // أدخل الحد الأدنى للقيمة في الصفيف الجديد
arr.splice (r (arr ، math.min.apply (null ، arr)) ، 1) ؛ // بعد الإدراج ، احذف الحد الأدنى للقيمة على الفور
}
// ابحث عن موضع الحد الأدنى للقيمة في الصفيف
وظيفة r (s ، v) {
لـ (k in s) {
if (s [k] == v) {
العودة ك ؛
}
}
}
console.log (Newarr.join ("،"))
}
ملاحظة: هذه مجرد طريقة كتبتها. لا ينبغي أن يكون مبدأ الفرز هكذا. يمكنك أيضًا فرز الصفيف باستخدام طريقة الفقاعة. لن أكتب الرمز. هناك الكثير منهم على الإنترنت. بالطبع ، الرمز أعلاه فقط بفرز مجموعة الأرقام. لفرز السلاسل ، يمكنك النظر في طريقة LocalEcompare للسلسلة.
آمل أن تكون هذه المقالة مفيدة لبرمجة JavaScript للجميع.