HarmonyOS 数组怎么自定义去重?

有一个对象数据,自定义去掉重复的数据,比如去重规则:标题一样就算重复或者只要时间相同就算重复,ArkTS中怎么处理?

阅读 446
1 个回答

如下demo,可以进行去重操作,可以参考一下:

interface Item{
  id:number;
  name:string
}

function uniqueBy(val:Array<Item>){
  const newarr=val.filter((item,index,self)=>{
    return (index===self.findIndex((t)=>t.id===item.id))
  })
  console.log(JSON.stringify(newarr))
}

@Entry
@Component
struct Index{
  @State arr: Array<Item> = [
    {id:1,name:'banana'},
    {id:2,name:'organge'},
    {id:3,name:'banana2'},
    {id:3,name:'banana2'},
    {id:3,name:'banana2'},
    {id:4,name:'banana'},
  ]
  onPageShow(): void {
    uniqueBy(this.arr)
  }
  build() {
    Column(){
      Text('测试页面')
    }
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进