uni-app 实现汉字按拼音首字母排序

Web

索引列表页面需要利用首字母区分字段,后端没返回,那么前端来做。

首先找一个现有的轮子:https://github.com/xinglie/pinyin

安装

1
npm i --save jian-pinyin

引用

1
2
import Pinyin from 'jian-pinyin'
const Pinyin = require('jian-pinyin')

使用实例

1
2
console.log(Pinyin.getSpell('疯狂星期四!'));
// feng,kuang,xing,[qi,ji],si,!

根据具体情况封装一下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
cityList() {
let letters = "ABCDEFGHIJKLNMOPQRSTWXYZ".split('');
letters.map(item => {
this.city.push({
title: item,
item: []
})
})
},
sort(obj) {
let letters = "ABCDEFGHIJKLNMOPQRSTUVWXYZ".split('');
obj.map(item) => {
let first = Pinyin.getSpell(item.Name).split(',').join('').toUpperCase()[0];
let num = letters.indexOf(first);
this.city[num].item.push(item);
})
}

本文作者:Kiro

本文链接: https://www.kiro.cc/2022/05/uni-pinyin/