HarmonyOS 手机系统升级后,数组sort排序不对了

HarmonyOS
2024-12-23 14:44:30
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

可使用toSortSuccess的排序方式解决排序不生效问题,示例参考:

import { CustomButton } from '../../../../Index';

@Component
export struct ArkTsComm {
  build() {
    Column() {
      CustomButton('点击排序1', () => {
        let sortClass: SortClass = new SortClass();
        sortClass.toSortFail();
        sortClass.toLog();
      })

      CustomButton('点击排序2', () => {
        let sortClass: SortClass = new SortClass();
        sortClass.toSortSuccess();
        sortClass.toLog();
      })
    }
  }
}

class SortClass {
  private items: string[] =
    ['9.15', '9.04', '9.10', '9.16', '9.11', '9.17', '9.23', '9.12', '9.18', '9.24', '9.13', '9.19', '9.25', '9.31',
      '9.20', '9.26', '9.32', '9.21', '9.27', '9.33', '9.22', '9.28', '9.34', '9.40', '8.70', '9.29', '9.35', '9.41',
      '8.71', '9.30', '9.36', '8.66', '8.72', '9.37', '9.43', '8.67', '9.49', '8.73', '8.79', '9.38', '9.44', '8.68',
      '8.74', '9.50', '8.80', '9.39', '9.45', '8.69', '8.75', '9.51', '8.81', '9.46', '9.52', '8.76', '8.82', '8.88',
      '9.47', '9.53', '8.77', '8.83', '8.89', '9.48', '8.78', '9.54', '8.84', '8.90', '9.55', '8.85', '8.91', '8.97',
      '9.56', '8.86', '8.92', '8.98', '8.87', '8.93', '8.99', '9.05', '8.94', '9.00', '9.06', '8.95', '9.01', '9.07',
      '8.96', '9.02', '9.08', '9.14', '9.03', '9.09']

  toLog() {
    console.info('SortClass: ' + JSON.stringify(this.items));
  }

  // 目前该方式排序存在问题,在18版本能验证pass
  toSortFail() {
    this.items.sort((m1: string, m2: string) => {
      return Number.parseFloat(m1) - Number.parseFloat(m2);
    })
  }

  // 目前使用该方式排序可以达到预期
  toSortSuccess() {
    let comp: number = 0;
    this.items.sort((m1: string, m2: string) => {
      comp = Number.parseFloat(m1) - Number.parseFloat(m2);
      return comp > 0 ? 1 : (comp < 0 ? -1 : 0);
    })
  }
}
分享
微博
QQ
微信
回复
2024-12-23 18:31:14
相关问题
HarmonyOS 手机系统升级ui变得卡顿
418浏览 • 1回复 待解决
系统升级HarmonyOS系统app签名问题
1257浏览 • 1回复 待解决
HarmonyOS Array.sort排序错误
351浏览 • 1回复 待解决
根据list中某项的id如何sort排序
899浏览 • 1回复 待解决
关于鸿蒙系统升级正式版都有啥机形
9849浏览 • 1回复 待解决
HarmonyOS 数组中对象的排序
537浏览 • 1回复 待解决
HarmonyOS 对象内数组排序问题
450浏览 • 1回复 待解决
不是华为手机可以升级鸿蒙系统
11404浏览 • 3回复 待解决
荣耀手机有机会升级鸿蒙系统吗?
7823浏览 • 4回复 待解决
升级鸿蒙系统打电话断音
10487浏览 • 1回复 待解决
荣耀30手机升级鸿蒙指纹无法使用
9983浏览 • 1回复 待解决
ArkTS如何自定义数组对象的排序规则
502浏览 • 1回复 待解决
畅享系列的手机升级鸿蒙系统
7226浏览 • 2回复 待解决