根据后端返回的数据进行中文排序操作


  最近遇到后端直接给我返回数据类似城市列表,然后需要根据返回的数据进行中文排序,并展示

  如图

 

 

   

const arr = [
      {brandimg: "http://dummyimage.com/500x500/f2799c/fff.jpg&text=jjokok ", brandname: "北京", brandid: 2124},
      {brandimg: "http://dummyimage.com/500x500/f2799c/fff.jpg&text=jjokok ", brandname: "上海", brandid: 2124},
      {brandimg: "http://dummyimage.com/500x500/f2799c/fff.jpg&text=jjokok ", brandname: "广州", brandid: 2124}
    ]

pySegSort=(arr) =>{
    if (!String.prototype.localeCompare) return null
    let letters = 'abcdefghjklmnopqrstwxyz'.split('')
    let zh = '阿八茶哒妸发旮哈讥咔垃痳拏噢妑七呥扨它穵夕丫帀'.split('')
    let segs = []
    letters.map((item, i) => {
      let cur = { letter: item, data: [] }
      arr.map((item) => {
        if(item.brandname.localeCompare(zh[i])>=0&&item.brandname.localeCompare(zh[i+1])<0){
          cur.data.push(item)
        }   
        return ''      
      })
      if (cur.data.length) {   
        cur.data.sort(function(a, b) {
          return a.brandname.localeCompare(b, 'zh')
        })
        segs.push(cur)
      }
      return ''
    })
    return segs
  }

  渲染结果就没写了直接上图   最终展示结果

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM