فرز صفيف ثنائي الأبعاد في جافا سكريبت

فرز المصفوفات في جافا سكريبت ويتم ذلك عن طريق 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>
مشاركة هذا الموضوع:
الصورة إشارات Google المرجعية صديق Mixx StumbleUpon Technorati ياهو الطنين DesignFloat لذيذ بلينكليست لف

2 الردود على "فرز صفيف ثنائي الأبعاد في جافا سكريبت"

  • 御泥坊官网 يقول:

    这个 很 有深度 啊

  • 雅姿兰官网 يقول:

    在 来看 下 呵呵

  • ترك الرد:

    اسم (مطلوب):
    البريد (لن يتم نشره) (مطلوب):
    الموقع على الإنترنت:
    التعليق (مطلوب):
    XHTML: يمكنك استخدام هذه العلامات: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>