相关文章推荐
聪明伶俐的铁板烧  ·  Spring Boot ...·  1 月前    · 
有腹肌的扁豆  ·  visual ...·  8 月前    · 
从未表白的自行车  ·  The zinc-finger ...·  8 月前    · 
重感情的大象  ·  sql分割字符串 - 百度·  1 年前    · 

原数据是这样的:

var list = ['abc123', 'abc11', 'abc2']

希望得到的排序结果是 abc2,abc11,abc123 就是先按照字符串排字符或文字,然后按照数字排

解决方案:

var list = ['abc123', 'abc11', 'abc2']
var list2 = []
list2 = list.sort(function(a, b) {
  return a.localeCompare(b, 'zh-CN', { numeric: true })
console.log(list2)

如果需要先排序数字,再排序字符串

var list = ['abc123', 'abc11', 'abc2','c1','b1']
        var list2 = []
        list2 = list.sort(function(a, b) {
          var an = a.match(/\d+(.\d+)?/g)[0];
          var bn = b.match(/\d+(.\d+)?/g)[0];
          if(parseFloat(an) > parseFloat(bn)) {
            return 1
          } else if(parseFloat(an) < parseFloat(bn)){
            return -1
          } else {
            return a.localeCompare(b)
        console.log(list2)
原数据是这样的:var list = ['abc123', 'abc11', 'abc2']希望得到的排序结果是 abc2,abc11,abc123 就是先按照字符串排字符或文字,然后按照数字排解决方案:var list = ['abc123', 'abc11', 'abc2']var list2 = []list2 = list.sort(function(a, b) { return a.localeCompare(b, 'zh-CN', { numeric: true })
在上篇文章给大家介绍了JavaScript sort数组 排序 方法和自我实现 排序 方法小结,用自己的方法实现了 数字 数组的 排序 。 当然,实际运用中,我还是会使用sort方法更加方便.但是,我上一篇博文,仅仅是实现了 数字 排序 ,而srot方法默认可是能给字母实现 排序 的哦!而我的代码只能 排序 数字 ,看起来还是弱弱的. 所以,我得加上能排字母甚至中文的 排序 方法. $(function(){ var arr = ["Jack","Book","Fung",76,"Love","Mark","中国","china","phone","刘德华"]; console.log('原数组'); console
var arr = [ {AddRess: "广州南站", lng: 113.275824, lat: 22.994826, Mileage: "558"}, {AddRess: "长沙南站", lng: 113.071579, lat: 28.15323, Mileage: "883"}, {AddRess: "上海虹桥站", lng: 121.327012, lat: 31.200458, Mileage: "1892"}, {AddRess: "兰州西高铁站", lng: 103.758769
从上一篇文章里面我们已经知道了,需要通过sort函数,定义自己的 排序 比较函数。sort会回调这个函数,在 排序 时逐个比较元素。 那么问题来了,如果我想比较多个列,至少比较2列,使得其有效 排序 , 如果第2列是个 字符串 ,这样写还行吗?不行。 字符串 相减,结果是NaN,not a number。那怎么办? 当然是写一个 字符串 排序 函数了。 看以下第一版: function strcomp(a,b){ if( !(a instanceof Array) || !(b instanceof Array) ){ret
export function arraySortByName(list) { if (list === undefined || list === null) return [] list.sort((a, b)... var idx = -1; var MAP = 'ABCDEFGHJKLMNOPQRSTWXYZ'; var boundaryChar = '驁簿錯鵽樲鰒餜靃攟鬠纙鞪黁漚曝裠鶸蜶籜鶩鑂韻糳'; if (!String.prototype.localeCompare) { thro... 业务 要求 对录入的楼栋名称进行一个更符合用户想法的 排序 。 按照java自带的 字符串 排序 ,是按照每一个字母的ASCII码顺序进行 排序 ,代码如下: List<String> strList = Arrays.asList(new String[]{"5栋", "7栋", "4栋", "15栋", "24栋", "涉外国际7栋", "涉外国际6栋", "B666栋", "B17栋", "B1栋","A45栋","A22栋"}); System.out.println(strList); Colle function order(words) { return words.split(' ').sort((a, b) => a.match(/\d/) - b.match(/\d/)).join(' '); function order(w...