UNPKG

zero-ai

Version:
26 lines (25 loc) 848 B
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), }