فرز المصفوفات في جافا سكريبت ويتم ذلك عن طريق array.sort طريقة ().
تمر في اشارة الى وظيفة array.sort ()
كما تطرق بالفعل، array.sort () يقبل معلمة اختيارية في شكل مرجع وظيفة (يتيح نسميها sortfunction). شكل هذه الدالة يبدو مثل هذا:
array.sort (sortfunction) sortfunction وظيفة (أ، ب) { / / مقارنة "أ" و "ب" في بعض الأزياء، وعودة -1، 0، أو 1 }
عندما يتم تمرير هذه المهمة إلى array.sort ()، يتم فرز عناصر الصفيف على أساس العلاقة بين كل زوج من العناصر "أ" و "ب"، وقيمة وظيفة في المقابل. ثلاثة أرقام عودة محتملة هي: <0 (أقل من 0)، 0، أو> 0 (أكبر من 0):
- أقل من 0: ترتيب "أ" ليكون أقل من مؤشر "ب"
- صفر: ينبغي النظر في "أ" و "ب" على قدم المساواة، وتنفيذ لم الفرز.
- أكبر من 0: ترتيب "ب" أن يكون أقل من مؤشر "أ".
لفرز مجموعة عدديا والصعود على سبيل المثال، أن الهيئة من وظيفة الخاص بك تبدو هذه:
sortfunction وظيفة (أ، ب) { عودة (أ - ب) / / الأسباب صفيف إلى أن يتم فرز عدديا والصعود }
فرز صفيف ثنائي الأبعاد في الترتيب العددي
لفرز صفيف في الترتيب العددي، تمر ببساطة sortfunction مخصصة في array.sort () التي يعود الفرق بين "أ" و "ب"، المعلمتين غير مباشر / فدان تلقائيا إلى وظيفة:
<script type="text/javascript"> فار AA = [["ب"، 3]، ["أ"، 4]، ["ه"، 2]، ["دال"، 1]]؛ aa.sort (وظيفة (س، ص) {عودة X [1] ص [1]}) / / صفيف يصبح الآن [["دال"، 1]، ["ه"، 2]، ["ب" ، 3]، ["أ"، 4]] </ SCRIPT>
هذا وتعمل الطريقة التي تؤدي بها لأنه كلما "أ" هو أقل من "ب"، يتم إرجاع قيمة سالبة، مما يؤدي إلى أصغر العناصر التي تظهر دائما على يسار الكبرى منها، وبعبارة أخرى، التصاعدي.
فرز مجموعة عدديا لكن تنازلي لا يختلف كثيرا، ويتطلب فقط عكس المعاملات 2 "أ" و "ب":
<script type="text/javascript"> فار AA = [["ب"، 3]، ["أ"، 4]، ["ه"، 2]، ["دال"، 1]]؛ aa.sort (وظيفة (س، ص) {عودة ذ [1] س [1]}) / / صفيف يصبح الآن [["أ"، 4]، ["ب"، 3]، ["ه" ، 2]، ["دال"، 1]] </ SCRIPT>
فرز صفيف ثنائي الأبعاد في الترتيب الأبجدي
<script type="text/javascript"> فار AA = [["ب"، 3]، ["أ"، 4]، ["ه"، 2]، ["دال"، 1]]؛ وظيفة الأبجدي (أ، ب) { فار A = 1 [0]؛ فار B = ب [0] toLowerCase ()؛ وA.toLowerCase = ()؛ B = B.toLowerCase ()؛ إذا كان (A <B) عودة -1؛ إذا كان (A> B) مقابل 1؛ عودة 0؛ } تنبيه (aa.sort (الأبجدي))؛ </ SCRIPT>

这个 很 有深度 啊
在 来看 下 呵呵