zero-ai
Version:
Zero Ecotope AI
26 lines (25 loc) • 848 B
JavaScript
const sortString = (left = "", right = "", asc = true) => {
const minLen = Math.max(left.length, right.length);
let order = 0;
for (let idx = 0; idx < minLen; idx++) {
let leftCode = left.charCodeAt(idx);
let rightCode = right.charCodeAt(idx);
// 空白的处理
if (leftCode !== rightCode) {
// 修正长度不等的时候的基础算法
if (isNaN(leftCode)) leftCode = 0;
if (isNaN(rightCode)) rightCode = 0;
if (asc) {
order = leftCode - rightCode;
} else {
order = rightCode - leftCode;
}
break;
}
}
return order;
};
module.exports = {
sorterSAsc: (left, right) => sortString(left, right, true),
sorterSDesc: (left, right) => sortString(left, right, false),
}