从数组中归类

项目需求是从时间组件数组中
[2023-01-02,2023-01-03,2023-01-04,2023-02-12,2023-02-13]
获取分类并显示
2023年1月:2日,3日,4日
2023年2月:12日,13日
在tooltip中

/// this.formItems2.startReservationDay = [2023-01-02,2023-01-03,2023-01-04,2023-02-12,2023-02-13]
computed: {
    tooltipContent(){
      let content = []
      let arry = []
      let list = []
      let contentArry = []
      if(this.formItems2.startReservationDay){
        // 格式化数组 {yearmonth:XXXX年X月,day:X日}
        arry = this.formItems2.startReservationDay.map(e=>
          {
            let dateArry = e.split('-')
            return {
              'yearmonth':dateArry[0]+'年'+dateArry[1]+'月',
              'day':dateArry[2]+'日'
            }
        })
        arry.map(e=>{
          list.push(e['yearmonth'])
        })
        //数组去重复
        list=list.filter((e,i,self)=>{
          return self.indexOf(e)==i
        })
        for(let j=0;j<list.length;j++){
          //过滤出匹配到的数据
          let arr = arry.filter(e=>{
            return e.yearmonth == list[j]
          })
          contentArry.push({
            yearmonth:arr[0].yearmonth,
            list:arr
          })
        }
//调整输出形式
        contentArry.map(e=>{
          if(e.list.length>0){
            content.push(e.yearmonth+':'+e.list.map(i=>{return i.day}))
          }
        })
      }
      console.log('contentArry',contentArry)
      console.log('content',content)
      return content
    }
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容