直播平台开发,基础搜索方式之拼音搜索

直播平台开发,基础搜索方式之拼音搜索

核心思想:

先获取的汉字的拼音,然后对其进行匹配
获取汉字的拼音我这里使用的是pinyin;
简单介说一下pinyin包的用法

import py from "pinyin";
py("中心"); // [ [ 'zhōng' ], [ 'xīn' ] ]  默认是带声调的
py("中心", {
  heteronym: true               // 配置一些设置项,启用多音字模式
});                            // [ [ 'zhōng', 'zhòng' ], [ 'xīn' ] ]

 

实现

// 其余代码同上
import py from "pinyin";
mounted() {
    this.allMsg = [
      { name: "薛之谦", id: 1 },
      { name: "霍建华", id: 2 },
      { name: "蔡徐坤", id: 3 },
      { name: "胡歌", id: 4 },
      { name: "胡说", id: 5 }
    ];
    this.filterMsg = this.allMsg;
  },
methods: {
  handleSearch(queryString) {
    let queryStringArr = queryString.split("");
    let str = "(.*?)";
    let regStr = str + queryStringArr.join(str) + str;
    let reg = RegExp(regStr, "i");
    this.filterMsg = [];
    console.log(reg);
    this.allMsg.map(item => {
      // 获取汉字的拼音,并进行扁平化
      let pyArr = py(item.name, {
        style: py.STYLE_NORMAL // 设置拼音风格设置为普通风格(不带声调),
      }).flat();
      let pyStr = pyArr.join("");
      if (reg.test(pyStr)) {
        this.filterMsg.push(item);
      }
    });
  }
}

 

以上就是直播平台开发,基础搜索方式之拼音搜索, 更多内容欢迎关注之后的文章

 

posted @ 2024-08-10 08:59  云豹科技-苏凌霄  阅读(3)  评论(0编辑  收藏  举报