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

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

  如圖

 

 

   

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
  }

  渲染結果就沒寫了直接上圖   最終展示結果

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章