// 呼叫:
var goods = [,,
];comparearray(goods, 'goodsn', true);// 根據『goodsn』降序排序
這裡是直接操作的原陣列,如果不想直接操作原陣列,深度拷貝乙份出來排序即可
// arr:排序的陣列,陣列對應物件屬性值:property,sort:true是降序
function comparearray(arr, property, sequence) }}
if (sequence)
return arr;
}// code從-1至1依次是str1排在str2後,相等,前
function comparestring(str1, str2) else if (stringcode === 1) else
}if (code === 0 && str1length !== str2length)
return code;
}// 單字元排序,優先順序:(特殊字元》數字》英文本母》漢字)
function comparecharacter (letter1, letter2) else
if (letter1typenum === 1)
// 不區分大小寫,依據英文本母unicode碼大小排序,a-z的unicode碼依次增加
if (letter1typenum === 2)
if (letter1typenum === 3)
}if (before > after) else if (before === after) else
return code;
}// 判斷單字元型別,返回值0到3依次是特殊字元,數字,字母,漢字體別
function determinetype(letter) else if (isletter) else if (ischinese) else
return typenum;
}// 返回漢字拼音首字母(大寫)
function getfirstletter(str) ;
// 拼音首字母字典檔案
var dict = {};
if (!str || /^ +$/g.test(str)) return '';
dict.firstletter = pinyin_dict_firstletter;
if (dict.firstletter) // 使用首字母字典檔案
result.push(ch);
}return result.join('');}}
js的中文英文排序
本例主要實現 中文漢字按拼音排序的方法和英文按照首字母排序的方法。要排序的資料 let data 中文 data.sort a,b b.chinese.localecompare a.chinese,zh z a 排序 中文 data.sort a,b a.chinese.localecompare...
常見排序演算法基於JS的實現
一 氣泡排序 1.原理 a.從頭開始比較相鄰的兩個待排序元素,如果前面元素大於後面元素,就將二個元素位置互換 b.這樣對序列的第0個元素到n 1個元素進行一次遍歷後,最大的乙個元素就 沉 到序列的最後位置 第n 1個位置,n為待排序元素個數 c 排除此次排序最後面的那個元素 n n 1 繼續對剩餘序...
js實現中英文合併排序
本文使用localecompare方法實現了對中英文混合排序方法,共實現了兩種排序方法,排序結果如下 對名字進行排序,包括中文 英文和特殊字元 class namesort let enarr abcdefghijklmnopqrstuvwxyz split let zharr 排序好的資料 let...