تصف هذه المقالة طريقة تنفيذ فرز رأس JS. شاركه للرجوع إليه.
طريقة التنفيذ المحددة هي كما يلي:
نسخة الكود كما يلي:
<script type = "text/javaScript">
// ما إذا كان يجب الفرز
var isdescending = true ؛
/**************************************************************
* يجب وضع الصفوف المراد فرزها في علامة <tbody> </tbody>
* TableId: معرف الجدول الفرز
* كولنو: رقم العمود المصنف ، أي ، أي عمود ، يبدأ من 0
* Startrowno: عدد سطر البداية من الفرز ، بدءًا من 0
* الطول: عدد الصفوف لفرز ،
* النوع: نوع عمود الفرز
*/
نوع الوظيفة (TableId ، Colno ، Startrowno ، Sortlength ، type)
{
// إذا كان عدد الصفوف المراد فرزه هو 1 أو 0 ، فلا يتم تنفيذ أي عملية فرز
if (sortlength <= 1) {
يعود؛
}
var curtable = document.getElementById (tableId) ؛
var theHeader = currtable.outerhtml.substring (0 ، currtable.outerhtml.indexof ('<tbody>')+7)
var thefooter = currtable.outerhtml.substring (currtable.outerhtml.indexof ('</tbody>')-8) ؛
// عدد الصفوف هنا هو عدد الصفوف التي تزيل جدول الرأس وصفوف الجدول.
var therows = صفيف جديد (الطول) ؛
// انهيار البيانات في الجدول
لـ (i = startrowno ؛ i <sortlength+startrowno ؛ i ++)
{
therows [i-startrowno] = صفيف جديد (currtable.rows [i]
}
if (type.touppercase () == 'number')
{
therows.sort (مقارنة) ؛
}
آخر إذا (type.touppercase () == 'Date')
therows.sort (مقارنة) ؛
آخر إذا (type.touppercase () == 'سلسلة)
therows.sort (مقارنة) ؛
var tableInfo = ''
لـ (j = 0 ؛ j <therows.length ؛ j ++)
{
TableInfo+= Therows [J] [1] ؛
}
isDescending =! isdescending ؛
currtable.outerhtml = theHeader + tableInfo + thefooter ؛
يعود ؛
}
// قارن الأرقام
مقارنة الدالة (x ، y)
{
// تحويل بيانات تنسيق العملة
a = x [0] .excludechars ("،"). trim () ؛
B = y [0] .excludechars ("،"). trim () ؛
if (a == "") {a = 0 ؛}
if (b == "") {b = 0 ؛}
إذا (isdescending)
{
إرجاع parsefloat (b) - parsefloat (a) ؛
}
آخر
{
إرجاع parsefloat (a) - parsefloat (b) ؛
}
}
// قارن السلاسل
دالة المقارنة (x ، y)
{
إذا (isdescending)
{
if (x [0]> y [0]) return -1 ؛
آخر إذا (x [0] <y [0]) return 1 ؛
عودة أخرى 0 ؛
}
آخر
{
if (x [0] <y [0]) return -1 ؛
آخر إذا (x [0]> y [0]) return 1 ؛
عودة أخرى 0 ؛
}
}
// قارن الوقت
وظيفة المقارنة (x ، y) {
var arr = x [0] .split ("-") ؛
var startTime = تاريخ جديد (arr [0] ، arr [1] ، arr [2]) ؛
var startTimes = StartTime.getTime () ؛
var arrrs = y [0] .split ("-") ؛
var lktime = تاريخ جديد (ARRS [0] ، ARRS [1] ، ARRS [2]) ؛
var lktimes = lktime.getTime () ؛
إذا (isdescending)
{
إرجاع lktimes - startTimes ؛
}
آخر
{
عودة أوقات البدء - lktimes ؛
}
}
// قم بإزالة جميع الأوتار المحددة في السلسلة
string.prototype.excludechars = وظيفة (chars) {
var matching = new regexp (chars ، "g") ؛
إرجاع this.replace (مطابقة ، '') ؛
}
</script>
آمل أن تكون هذه المقالة مفيدة لبرمجة JavaScript للجميع.