The World of Remnant

el-table全局动态列通用排序 完全体!

sortmethod(rowA, rowB, item) {
        let a = rowA[item.data]
        let b = rowB[item.data]
        if ((a - b).toString() === 'NaN') {
          a = a + ''
          b = b + ''
          let diff
          if (a.length > b.length) {
            for (let i = 0; i < b.length; i++) {
              if ((a[i] - b[i]).toString() === 'NaN') {
                diff = a[i].charCodeAt() - b[i].charCodeAt()
              } else {
                diff = parseInt(a.slice(i)) - parseInt(b.slice(i))
              }
              if (diff > 0) return 1
              if (diff < 0) return -1
            }
            return 1
          } else {
            for (let i = 0; i < a.length; i++) {
              if ((a[i] - b[i]).toString() === 'NaN') {
                diff = a[i].charCodeAt() - b[i].charCodeAt()
              } else {
                diff = parseInt(a.slice(i)) - parseInt(b.slice(i))
              }
              if (diff > 0) return 1
              if (diff < 0) return -1
            }
            return -1
          }
        } else {
          return a - b
        }
      },