HarmonyOS 鸿蒙Next:根据list中某项的id如何sort排序

发布于 1周前 作者 htzhanglong 来自 鸿蒙OS

HarmonyOS 鸿蒙Next:根据list中某项的id如何sort排序

文档中只是简单的number类型
list.sort((a: number, b: number) => a - b);

我现在list里面是个ImageListBean 想根据imgId排序 下面是我写的代码 结果返回的都是空的list,应该如何写

item.imgList.sort((aa: ImgListBean, bb: ImgListBean) => {
  return Number(aa.imgId) - Number(bb.imgId)
})

更多关于HarmonyOS 鸿蒙Next:根据list中某项的id如何sort排序的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复
您好,demo验证无问题,如果自测不行的话请您提供一下可复现的简易demo

```javascript
// demo.ets

[@Entry](/user/Entry)
[@Component](/user/Component)
struct ListPage {
  aboutToAppear(): void {
    const list: ListItemBean[] = [
      { id: '3' },
      { id: '8' },
      { id: '1' },
    ];
    list.sort((aa: ListItemBean, bb: ListItemBean) => {
      return Number(aa.id) - Number(bb.id)
    })
    console.log(JSON.stringify(list))
  }
  build() {
    Row() {}
    .height('100%')
  }
}

interface ListItemBean {
  id: string
}

日志打印:

03-27 09:52:30.234 41935-41935 A03D00/JSAPP pid-41935 I [{"id":"1"},{"id":"3"},{"id":"8"}]

更多关于HarmonyOS 鸿蒙Next:根据list中某项的id如何sort排序的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


interface Per { id:string name:string }

@State list:Per[] = [ {id:‘223’,name:‘张三1’}, {id:‘123’,name:‘张三2’}, {id:‘63’,name:‘张三3’}, {id:‘423’,name:‘张三4’} ] onPageShow(): void { this.list.sort((a:Per,b:Per)=>{ return Number(a.id) - Number(b.id) }) } build() { Column(){ List(){ ForEach(this.list,(item:Per)=>{ ListItem(){ Column(){ Text(item.name) .fontColor(Color.White) } .width(100) .height(22) .backgroundColor(Color.Gray) } }) } } } cke_573.png

在HarmonyOS鸿蒙系统中,如果你需要根据list中某项的id进行排序,可以使用HarmonyOS提供的集合操作API来实现。这里假设你有一个包含多个对象的list,每个对象都有一个id属性。以下是一个基本的实现思路,使用Kotlin语言示例(由于要求不回答Java和C语言相关内容):

  1. 定义数据类: 首先,定义一个数据类来表示list中的元素,例如:

    data class Item(val id: Int, val name: String)
    
  2. 排序操作: 使用Kotlin的sortedBy函数根据id属性对list进行排序:

    val itemList = listOf(Item(3, "C"), Item(1, "A"), Item(2, "B"))
    val sortedList = itemList.sortedBy { it.id }
    

    这样,sortedList就是一个按照id升序排列的新list。

  3. 结果sortedList将包含按id排序的元素:[Item(1, "A"), Item(2, "B"), Item(3, "C")]

如果问题依旧没法解决请联系官网客服,官网地址是

回到顶部