مقدمة
يعد فرز صفيف مطلبًا شائعًا للغاية ، خاصة في الواجهة الخلفية. بالطبع ، الواجهة الأمامية لديها أيضا هذا المطلب.
بالطبع ، هناك طرق جاهزة لفرز الصفيف. إنها طريقة الفرز ().
لنبدأ في النظر إلى هذا أولاً.
الإجابة القياسية ، طريقة الفرز
var arr = [45،98،67،57،85،6،58،83،48،18] ؛ console.log ('Armance Array') ؛ console.log (arr) ؛ console.log ('fort method for from small to barge') ؛ console.log (arr.sort (a ، b) {return ab}) ؛ صغير ') ؛ console.log (arr.sort (function (a ، b) {return ba})) ؛ console.log (' طريقة الفرز مرتبة من كبيرة إلى صغيرة ') ؛ console.log (arr.sort (function (a ، b) {return ba})) ؛نتائج التشغيل كما يلي:
تجدر الإشارة هنا إلى أن الفرز يتم فرزه الأبجدي بشكل افتراضي. لذلك ، عندما نرتب الأرقام ، نحتاج إلى وظيفة مخصصة.
كما هو مذكور أعلاه
دالة (أ ، ب) {return ab}
هذه وظيفة فرز من صغيرة إلى كبيرة. يبدو الأمر بسيطًا للغاية ، لكنني لا أفهم ، لذلك سأقوم بتنفيذ الفرز وفقًا لأفكاري ~
إجابتي ، لفرز الطريقة
var arr = [45،98،67،57،85،6،58،83،48،18] صغير ') ؛ console.log (' arrsortmaxtomin (arr)) ؛ // ابحث عن أصغر قيمة في دالة الصفيف arrminnum (arr) {var minnum = infinity ، index = -1 ؛ for (var i = 0 ؛ i <arr.length ؛ i ++) {if (arr [i] <minnum) {minnum = arr [i] ؛ {"minnum": minnum ، "index": index} ؛} // إرجاع نتيجة الفرز من صغير إلى كبير في وظيفة Array ArrSortMintomax (arr) {var arrnew = [] {arrnew.push (arrminnum (arrold) .minnum) ؛ arrold.splice (arrminnum (arrold) .index ، 1)} ؛ return (arrnew) ؛} // ابحث عن القيمة الأكبر في دالة الصفيف arrmaxnum (arr) (arr [i]> maxnum) {maxnum = arr [i] ؛ index = i ؛}} ؛ return {"maxnum": maxnum ، "index": index} ؛} // إرجاع نتيجة الفرز من كبيرة إلى صغيرة في الدالة الصافية arrsortmaxtomin (arrnew = varnew = [] Arr.Length ؛تظهر نتائج العملية في الشكل أدناه
نقاط المعرفة في طريقتي
1. عندما تحتاج الوظيفة إلى إرجاع أجزاء متعددة من البيانات ، يكون أكثر ملاءمة لاستخدام تنسيق كائن JSON. على سبيل المثال ، الإرجاع {"minnum": minnum ، "index": index} أعلاه ؛
2. إذا كنت تستخدم الطريقة var arrold = arr لنسخ صفيف ، وتعمل على ARROLD ، فسيؤثر ذلك على مجموعة ARR الأصلية. لأن JavaScript مقسمة إلى أنواع بدائية وأنواع مرجعية (على غرار Java و C#). الصفيف هو نوع مرجعي. يحصل ARROLD على إشارة ، وبالتالي فإن التعديل إلى ARROLD سيؤثر على ARR .
طرق لنسخ المصفوفات (i) var arrold = arr.concat () ؛ ، المبدأ: وظيفة concat () هي دالة تستخدم لصق المصفوفات المتعددة. طريقة الكتابة هذه تعادل الربط نفسه. هذا هو ، النسخ.
طرق لنسخ المصفوفات (2) var arrold = arr.slice (0). المبدأ: وظيفة الشريحة () هي وظيفة تعترض المصفوفات. تعيين القيمة إلى 0 هو اعتراضها جميعًا ، وهو ما يعادل النسخ.
3. يتم استخدام طريقة splice () لإدراج أو حذف أو استبدال عناصر صفيف. فيما يلي الميزة التي تستخدم مواقعها المحذوفة في الصفيف.
4. الفرق بين طريقتي وطريقة الفرز.
لا تعدل طريقتي الصفيف الأصلي ، في حين أن الفرز هو تعديل يعتمد على الصفيف الأصلي.
تقوم طريقتي بإرجاع مجموعة جديدة ، ولم تختف الصفيف الأصلي أو تغييره. (يبدو أنه نفس الجملة أعلاه ...)
5. الفرز هو نقطة معرفة أساسية للغاية وهامة للغاية في البرمجة. فرز الفرز منخفض نسبيا عند تنفيذ كمية كبيرة من البيانات. بالطبع ، كفاءة طريقتي منخفضة للغاية.
يتم استنساخ هذه المقالة على: http://blog.csdn.net/fungleo/article/details/5155590
ما ورد أعلاه هو المحتوى الكامل لطريقة فرز مجموعة فرز JavaScript وطريقة فرز التنفيذ الذاتي الذي قدمه لك المحرر. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، يرجى ترك رسالة لي. سوف يرد المحرر لك في الوقت المناسب. شكرًا جزيلاً على دعمكم لموقع Wulin Network.