直播平台开发,基础搜索方式之拼音搜索
核心思想:
先获取的汉字的拼音,然后对其进行匹配
获取汉字的拼音我这里使用的是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); } }); } }
以上就是直播平台开发,基础搜索方式之拼音搜索, 更多内容欢迎关注之后的文章
标签:拼音,py,直播,let,搜索,id,name From: https://www.cnblogs.com/yunbaomengnan/p/18351940