Sort()对于字母顺序列表无法正常工作

时间:2018-11-15 17:00:47

标签: javascript sorting ionic3

我正在使用sort()方法制作按字母顺序排列的列表,但似乎无法正常工作 那是我得到的数据的一个例子 address: " P.O. BOX : 3625, POSTAL CODE : 112, RUWI. ABOVE ELITE JEWELLERY SHOP BUILDING, 2ND" area_id: "27" area_name: "Ruwi" city_name: "Muscat" clinic_hours: "SAT-THU 9:00AM to 1:00PM 5:00PM to 9:00PM,FRI CLOSED" hosp_id: null hospital_name: null id: "132" insurance_companies: "None" lat: "23.59032790" longi: "58.54473540" name: " AL WARDAH MEDICAL & DENTAL CLINIC" phone: "24832011" services: " GENERAL MEDICINE, GYNAECOLOGY, EYE, ENT, SKIN, PAEDIATRICS.,GENERAL DENTAL CARE & SERVICES." spec: "Dentistry,General Practitioner" spec_id: "70,75"

这是代码

// sorting data this.Clinics = Data.sort(function(a, b){ return a.name.localeCompare(b.name); })

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:2)

localeCompare默认情况下区分大小写,大写字母位于小写字母之前。

localeCompare

您可以传递一个选项对象,该对象将比较设置为base,因此a==A但这也需要语言环境,

return a.name.localeCompare(b.name, 'en', {'sensitivity': 'base'});

或者您可以在比较函数中手动toLowercasetoUppercase字符串

return a.name.toLowercase().localeCompare(b.name.toLowercase());

这是在存储或呈现数据之前清理数据的方便之处,但是如果您对源代码的控制为零,以上内容将使您满意。