根據后端返回的數據進行中文排序操作


  最近遇到后端直接給我返回數據類似城市列表,然后需要根據返回的數據進行中文排序,並展示

  如圖

 

 

   

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