• 设为首页
  • 加入收藏
  • 我要投稿
  • 联系站长
  • 网站模板技术交流
当前位置:模板网首页 > 建站教程 > JS、jQ >  js 根据对象属性对数正文

js 根据对象属性对数组进行按字母排序

作者:网页模板
类型:文章教程
点击次数:
发布时间:2019-04-27 12:37
分享到:
今天,我爱模板网在做一个APP时,用接口获取了车子品牌的数据,需要做出类似手机通讯录的效果,点击品牌首字母,就能快速定位。这就要对返回的数据进行排序,返回数据格式有点类似下面:
[
    {"name": "D"},
    {"name": "G"},
    {"name": "A"},
    {"name": "Z"},
    {"name": "H"},
    {"name": "K"},
    {"name": "B"},
    {"name": "C"},
]
具体比这复杂,每个对象里面除了name外,还包括字母对应品牌的车型。

这里返回的数据就如上面的一样,是乱序的,要进行排序,对字母进行比较,可以用到localeCompare方法,而排序,可以使用js的sort方法,那么就好办了,如下:
var brands = [
    {"name": "D",},
    {"name": "G",},
    {"name": "A",},
    {"name": "Z",},
    {"name": "H",},
    {"name": "K",},
    {"name": "B",},
    {"name": "C",},
]
brands.sort(function(a,b){
    return a.name.localeCompare(b.name)
})
输入结果如下:
[
    {"name": "A"},
    {"name": "B"},
    {"name": "C"},
    {"name": "D"},
    {"name": "G"},
    {"name": "H"},
    {"name": "K"},
    {"name": "Z"},
]

(责任编辑:网页模板)
  • 本文标签:
  • sort
js localeCompare方法详解
canvas实现高斯模糊