基於js的排序實現 數字,英文,漢字首字母

2021-08-22 16:25:59 字數 1415 閱讀 2782

// 呼叫:

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...