有一组数据,每个数据的头部是字母,字母后面跟数字,怎么根据数字的大小给他们排序。js⼀jQuery实现。

2025-06-27 05:40:50
推荐回答(1个)
回答1:

var str = "b30,d38,a21,d9,f32,cd21,za8";
var one = str.split(/\,/);

// 升序
one.sort(function(first,second){
    var f = parseInt(first.replace(/[a-z\s]/ig,''), 10);
    var s = parseInt(second.replace(/[a-z\s]/ig,''), 10);

    if (f > s) {
        return 1;
    } else if (f < s) {
        return -1;
    } else {
        return 0;
    }
});

console.log(one);

str = one.join(",");
console.log(str);