zoukankan      html  css  js  c++  java
  • js sort 排序

        js 中的 sort 排序的常规方式是 a - b ,就可以返回正序或者倒叙,前提是这两个是相同的数值。如果说要兼容其他的情况,比如说没有取到相同的数值,那就要考虑直接用名称来排序了。

        多啰嗦一句,如果是取特定字符串里的数值,建议转成统一的大写或者小写。

       

     const arr = i.sort((a: any, b: any) => {
          const name = a.name.toLocaleLowerCase().split(' ')
          const markName = name[name.length - 1]
          const mark = markName.indexOf('hca') > -1 ? '-' : markName.indexOf('mlx') > -1 ? '_' : ''
          if (mark) {
            const startIndex = a.name.lastIndexOf(mark)
            const splitVal = a.name.substring(0, startIndex + 1)
            return (
              Number(a.name.replace(splitVal, '')) - Number(b.name.replace(splitVal, ''))
            )
          } else {
            return a.name.localeCompare(b.name)
          }
        })
    

      localeCompare 是 Js 提供了一种更简便的方法用于比较两个字符串的方法。hca 和 mlx 是我项目里用的特定值,如果这两个都没有取到,那就用字符串排序。

     const list = [
          {
            name: 'erpsu03 mlx5_0'
          },
          {
            name: 'erpsu03 mlx5_1'
          },
          {
            name: 'erpsu03 mlx5_2'
          }
        ]
    

      

        

  • 相关阅读:
    Sequence-to-Sequence 论文精读(多层LSTM)
    End-to-End Memory Networks 端到端的记忆网络 精读
    深度之眼PyTorch训练营第二期---16、模型保存与加载
    二叉树
    窗体window
    选项卡tabs
    分割按钮splitbutton
    面板pannel
    分页组件pagination
    信息messager
  • 原文地址:https://www.cnblogs.com/ruose/p/15432399.html
Copyright © 2011-2022 走看看