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

复制代码
      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 @   龙旋风  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示