您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

排序混合的字母/数字数组

排序混合的字母/数字数组

var reA = /[^a-zA-Z]/g;

var reN = /[^0-9]/g;



function sortAlphaNum(a, b) {

  var aA = a.replace(reA, "");

  var bA = b.replace(reA, "");

  if (aA === bA) {

    var aN = parseInt(a.replace(reN, ""), 10);

    var bN = parseInt(b.replace(reN, ""), 10);

    return aN === bN ? 0 : aN > bN ? 1 : -1;

  } else {

    return aA > bA ? 1 : -1;

  }

}

console.log(

["A1", "A10", "A11", "A12", "A2", "A3", "A4", "B10", "B2", "F1", "F12", "F3"].sort(sortAlphaNum)

)
其他 2022/1/1 18:18:42 有645人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶