美文网首页
js排序sort()

js排序sort()

作者: acsamson | 来源:发表于2019-04-04 21:17 被阅读0次

    数组排序

    先看代码数组从排序:

    var line = "252 2784 2160 181 6644 2870";
    var arr = line.split(' ');
    var arrInt = arr.map(function (data) {
        return +data;
    });
    arrInt = arrInt.sort(function (a, b) {
        return b - a; // 后面比前面大的时候就要交换, 也就是从 大  ==> 小
    })
    

    解析我们在拿到一串数组的时候很经常要进行拆分, 比如:

    var line = "252 2784 2160 181 6644 2870";
    

    先用arr.split(' ')来拆分成字符串数组

    var arr = ["252", "2784", "2160", "181", "6644","2870"];
    

    然后再转为number类型

    // 方式一 forEach没有返回值
    arr.forEach(function (data, index, arr) {
        arrInt.push(+data);
    });
    
    // 方式二
    var arrInt = arr.map(function (data) {
        return +data;
    });
    

    一定要定义一个新的变量不可以arr = arr.sot(...)这样

    转为number类型后就可以排序

    如果使用默认sort()排序的话它只会比较第一位数字, 例如1820大, 所以要写一个函数进行判断才可以

    arrInt = arrInt.sort(function (a, b) {
        return b - a; // 后面比前面大的时候就要交换, 也就是从 大  ==> 小
    })
    

    字符排序

    可以用A.localeCompare(B) 若A大于B则返回大于0的数字, 相等返回0

    var arr = [['A','你'], ['好','我'], ['佩','齐']];
    arr.sort(function(x, y){
        return x[0].localeCompare(y[0]);
    });
    

    相关文章

      网友评论

          本文标题:js排序sort()

          本文链接:https://www.haomeiwen.com/subject/mqqciqtx.html