js 中 中文 空格 數字 字串混合排序

2021-09-10 23:57:35 字數 1442 閱讀 6511

最近有個需求,需要對後台的陣列物件按照某個屬性進行排序,屬性值可能是 中文、字串、數字、特殊字元、空字串,網上大部分都只是針對某乙個型別進行排序,在參考這篇部落格的基礎之上增加了對於空字串的判斷這種混合排序的比較少見,話不多說,直接上**

// 呼叫:

var goods = [,,

,,,];

comparearray(goods, 'goodname', true);// 根據'goodname'降序排序

// 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)

} else

}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('');

}}

Objective C中數字 字串

1.在c語言中我們討論的所有數字資料型別,int型 float型和long型都是oc語言中的基本資料型別,但他們都不是物件。如果需要儲存基本資料型別 包括char型 可以使用nsnumber類,它會根據這些資料的型別建立物件。以下是數字物件相見的操作方法。import int main int ar...

多個數字和數字字串混合運算規則

在說規則之前,我們先來看一下下面的 的結果 1 console.log 1 2 2 1222 3 console.log 1 2 2 324 5 console.log 1 1 2 026 7 console.log 1 1 2 1128 9 console.log a b 2 nan2 1011 ...

1162 數字 字串

時間限制 1000 ms 記憶體限制 65535 kb 難度 0 描述 有一行數字 現在定義 0表示空格,即這行數字被分割成若干個數 要求將這些數按照從小到大順序排列,若該行數字全為零 則表示為零,兩個數字之間可能有多個0,開頭和結尾可能都有0,所有的0都看成空格,數字的個數不超過100。輸入輸入有...