美文网首页
前端宝典

前端宝典

作者: 爱吃香菜的憨憨 | 来源:发表于2019-11-22 17:10 被阅读0次

    一、排序

    1.根据对象内某一属性进行排序(过滤掉字符串,数值相比较排序)

    const obj = [
        {
            pointName: '1幢',
            pointId: '1024',
        },
        {
            pointName: '4幢',
            pointId: '1014',
        },
        {
            pointName: '2幢',
            pointId: '1004',
        },
        {
            pointName: '3幢',
            pointId: '1024',
        },
    ];
    const sortBuildName = (property) => {
        return (a, b) => {
              const value1 = a[property].substr(0, a[property].length - 1);
              const value2 = b[property].substr(0, b[property].length - 1);
              return value1 - value2;
          };
    };
    obj.sort(sortBuildName('pointName'));
    

    排序前


    排序前

    排序后


    排序后
    2.不传参,将按照字符编码进行排序
    const arr = ['General','Tom','Bob','John','Army'];
    arr.sort();
    
    输出: image.png

    const arr2 = [30,10,111,35,1899,50,45];
    arr2.sort();

    输出: image.png
    3.传入参数,实现升序/降序排序
    const arr3 = [30,10,111,35,1899,50,45];
    arr3.sort((a, b) => {
      return a -b;
    })
    
    输出: image.png
    const arr4 = [30,10,111,35,1899,50,45];
    arr4.sort((a, b) => {
      return b - a;
    })
    
    输出: image.png

    4.根据数组中的对象的多个属性值排序,双重排序

    const jsonStudents = [
        {name:"Dawson", totalScore:"197", Chinese:"100",math:"97"},
        {name:"HanMeiMei", totalScore:"196",Chinese:"99", math:"97"},
        {name:"LiLei", totalScore:"185", Chinese:"88", math:"97"},
        {name:"XiaoMing", totalScore:"196", Chinese:"96",math:"100"},
        {name:"Jim", totalScore:"196", Chinese:"98",math:"98"},
        {name:"Joy", totalScore:"198", Chinese:"99",math:"99"}];
    jsonStudents.sort(function(a,b){
        var value1 = a.totalScore,
            value2 = b.totalScore;
        if(value1 === value2){
            return b.Chinese - a.Chinese;
        }
        return value2 - value1;
    });
    
    输出: image.png

    相关文章

      网友评论

          本文标题:前端宝典

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