vue 用 js-pinyin 获取汉字首字母,形成字母索引
vue 用 js-pinyin 获取汉字首字母,形成字母索引
·
1.首先引入js-pinyin的包
import pinyin from "js-pinyin"
2.js-pinyin 的包下载
getData() {
pinyin.setOptions({ checkPolyphone: false, charCase: 0 })
let alphabet = [];//索引字母数组
let sourceData = [{name:"AVF"},{name:"DFG"},{name:"RGV"},{name:"VBHG"}];//目标数组
sourceData.forEach((item,index)=>{
// 获取目标数组每一项的 name 值
let name = item.name
// 获取每一个name值第一个字的大写首字母(传入的 name 是中文时默认得到大写字母,name 是英文时按照原字符串输出,可能是小写)
let initial = pinyin.getCamelChars(name).substring(0, 1).toUpperCase()
// 给数组每一项增加名为 initial 的 key,值就是第一个字的大写首字母
item.initial = initial
// 获取用于索引的字母
if (alphabet.indexOf(initial) === -1) {
alphabet.push(initial)
}
});
// 按字母表顺序排序
alphabet.sort()
let resultData = {}
// 将源数据按照首字母分类
alphabet.forEach((item,index)=>{
resultData[item] = sourceData.filter((it) => {
return it.initial === item
})
});
// 得到最终结果 resultData
},
更多推荐
已为社区贡献1条内容
所有评论(0)