关于数组对象按照中文名字母排序

今天遇到的一个需求,要求把下面这样的数组按照首字母进行排序

let array = [{name: '张三'}, {name: '李四'}, {name: '王五'}]

网上查找方法,发现localeCompare()这个方法可以对中文按首字母排序

array.sort((a, b) => {
  return a["name"].localeCompare(b["name"], "zh");
});
//[{name: '李四'}, {name: '王五'}, {name: '张三'}]

该方法的第二个参数代表语言,这里选择中文,然后数组就会按照a-z的顺序来排序了,当然如果需要按照z-a的顺序来的话只需要换一下a和b的对比顺序就可以了

你可能感兴趣的:(问题总结)