HarmonyOS 数组中对象的排序

1、有个对象数组,每个对象中有时间戳,现在需要根据时间戳在数组中进行排序如何实现?

2、基于1的问题,如果是集合中的对象,在集合中如何根据时间排序?

3、数组和集合之间如何来回转换?

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

通过sort方法排序。可参考示例如下。另外HarmonyOS没有集合的概念,参考官方文档数据类型,只有Array数组,文档地址:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/introduction-to-arkts-V5#%E7%B1%BB%E5%9E%8B

class xx {
  time: number = 0;
  name: string = "";
}

@Entry
@Component
struct ArrayTest {
  build() {
    Row() {
      Column() {
        Button("sort").onClick(() => {
          const arr: xx[] = [
            { time: 1536282400000, name: 'Alice' },
            { time: 1536281200000, name: 'Bob' },
            { time: 1536280400000, name: 'Charlie' },
          ];
          const sortedArr = arr.sort((a, b) => a.time - b.time); //升序排序
          console.log(JSON.stringify(sortedArr));
          const sortedArr2 = arr.sort((a, b) => b.time - a.time); //降序排序
          console.log(JSON.stringify(sortedArr2));
        })
      }.width('100%')
    }.height('100%')
  }
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 对象数组排序问题
21浏览 • 1回复 待解决
HarmonyOS 将json对象按照 ASCII 排序
540浏览 • 1回复 待解决
HarmonyOS 数组对象数据刷新
41浏览 • 1回复 待解决
如何判断一个对象是否在对象数组
2483浏览 • 1回复 待解决
HarmonyOS 如何对两个对象进行排序
18浏览 • 1回复 待解决
HarmonyOS @State可以修饰对象数组
37浏览 • 1回复 待解决
HarmonyOS @state可以修饰对象数组
45浏览 • 1回复 待解决
如何监听数组对象属性变化
2378浏览 • 1回复 待解决
mysql 对于中文+数字排序
3596浏览 • 1回复 待解决
根据list某项id如何sort排序
323浏览 • 1回复 待解决