在node中,中文转拼音排序

首先npm i transliteration 下载该资源

const transliteration = require('transliteration');

//假设现在的需求是根据中文pinyin进行排序后将数据返回页面
    //从数据库查询的假数据
    let testArr = [
    {name:"中国",sex:"男"},
    {name:"中方",sex:"男"},
    {name:"日本",sex:"女"},
    {name:"日光",sex:"女"},
    {name:"美国",sex:"女"},
    {name:"美团",sex:"女"},
    {name:"法兰西",sex:"女"},
    {name:"德国",sex:"女"}];

    //再定义个数组和一个字段pinyin用于在转化完成后,直接对该拼音进行排序,而不是中文
    let test2 = [];
    //循环遍历该数组每一个下标,给每一个值都添加对应的拼音
    for(let i = 0;i<testArr.length;i++){
        let py = slugify(testArr[i].name);
        let result = {name:testArr[i].name,pinyin:py}
        test2.push(result);
    }
    //转换完成后,开始对该拼音进行排序
    console.log(test2.sort((x,y)=>(x.pinyin.localeCompare(y.pinyin))));

0: {name: “德国”, pinyin: “de-guo”}
1: {name: “法兰西”, pinyin: “fa-lan-xi”}
2: {name: “美国”, pinyin: “mei-guo”}
3: {name: “美团”, pinyin: “mei-tuan”}
4: {name: “日本”, pinyin: “ri-ben”}
5: {name: “日光”, pinyin: “ri-guang”}
6: {name: “中方”, pinyin: “zhong-fang”}
7: {name: “中国”, pinyin: “zhong-guo”}

猜你喜欢

转载自blog.csdn.net/qq_42427109/article/details/86080834
今日推荐