数组对象 按照属性值后的数字排序

      var arr =  [{subItemName:'材料2'},{subItemName:'材料1'},{subItemName:'材料3'}]
      var compare = function (obj1, obj2) {
          var val1 = obj1.subItemName.match(/\d+/g);
          var val2 = obj2.subItemName.match(/\d+/g);

          if (val1 < val2) {
              return -1;
          } else if (val1 > val2) {
              return 1;
          } else {
              return 0;
          }            
      } 
      console.log(arr.sort(compare));
      
    //  [{subItemName:'材料1'},{subItemName:'材料2'},{subItemName:'材料3'}]

 

posted @ 2023-03-07 10:17  龙旋风  阅读(24)  评论(0)    收藏  举报