Skip to content

单词排序

遇到一个需求,需要对两张表的字段进行比对,包含字段的名称、长度、类型等

并且需要将比对后的结果,以两个表格的形式展示(原始表、目标表)

当两个表格分别渲染好后,希望两个表格字段排列顺序一致,于是选择分别将两个表格的字段都按照 a-z 的顺序来排序:

javascript
const sortWord = (a, b) => {
    const aCode = a.charCodeAt(0)
    const bCode = b.charCodeAt(0)

    // 前一个字母是空的, 排到前面
    if (isNaN(aCode)) return -1

    // 后一个字母是空的, 排到前面
    if (isNaN(aCode)) return -1

    // 相等,从下一位继续判断
    if (aCode === bCode) return sortWord(a.slice(1), b.slice(1))

    return aCode - bCode
}
const arr = ['c', 'b', 'a', 'h', 'f', 'h', 'a']
arr.sort(sortWord)
console.log(arr)
// 结果: ['a', 'a', 'b', 'c', 'f', 'h', 'h']
0