一、博主博客
(保姆教程及高级玩法)微信同声传译插件-语音识别__揽的博客-CSDN博客
(保姆教程及高级玩法)微信同声传译插件-语音识别__揽的博客-CSDN博客
二、数据处理代案例(一定要看,不难理解,思路很重要)
以上是我发布总结的教程,下面将展示如何使用正则进行数据处理
请仔细查看,你会发现这个方法很吊,但是先体会一下案例,才能详细理解
//name名字 id学生的id fenshu 学生的分数 let dataArray=[ { name:'小明', id:"001", fenshu:0 },{ name:'小红', id:"002", fenshu:0 },{ name:'张三', id:"003", fenshu:0 },{ name:'李四', id:"004", fenshu:0 } ] //前面是人名 后面是对应id const personsJson = { '小明':"001", '小红':"002", '张三':"003", '李四':"004" } //语音的文字 const text = "小明的分数为30,小红分数是40,张三是50,李四的60" const array = text.split(',')//因为停顿处都是逗号分割,所以以逗号为一个字符串处理 console.log("array",array) let newPerson = {} //核心代码-----------------------------------+++ array.forEach(str => { Object.entries(personsJson).forEach(([key, val]) => { if (str.includes(key)) { newPerson = { ...newPerson, [val]: Number(str.match(/\d+(.\d+)?/g) && str.match(/\d+(.\d+)?/g)[0]) || null} } }) }); console.log("newPerson",newPerson) //核心代码-----------------------------------+++ dataArray.map(x=>{ if(newPerson.hasOwnProperty(x.id)){ x.fenshu = newPerson[x.id] } }) console.log("dataArray",dataArray)
以下是输出日志
三、思路高级玩法(自定义数据处理)
看到这里相信你已经对代码已经有了理解,以下是核心代码
//核心代码-----------------------------------+++ array.forEach(str => { Object.entries(personsJson).forEach(([key, val]) => { if (str.includes(key)) { newPerson = { ...newPerson, [val]: Number(str.match(/\d+(.\d+)?/g) && str.match(/\d+(.\d+)?/g)[0]) || null} } }) }); console.log("newPerson",newPerson) //核心代码-----------------------------------+++
我们把核心代码进行封装
dataChuLi(personsJson){ //语音的文字 const text = "小明的分数为30,小红分数是40,张三是50,李四的60" const array = text.split(',')//因为停顿处都是逗号分割,所以以逗号为一个字符串处理 let newPerson = {} //核心代码-----------------------------------+++ array.forEach(str => { Object.entries(personsJson).forEach(([key, val]) => { if (str.includes(key)) { newPerson = { ...newPerson, [val]: Number(str.match(/\d+(.\d+)?/g) && str.match(/\d+(.\d+)?/g)[0]) || null} } }) }); console.log(newPerson) return newPerson },
执行代码
this.dataChuLi({ '小明':"1", '小红':"2", '张三':"3", '李四':"4" }) this.dataChuLi({ '小明':"小明1", '小红':"小红2", '张三':"张三3", '李四':"李四4" }) this.dataChuLi({ '小明':"小明11", '小红':"小红22", '张三':"张三33", '李四':"李四44" })
结果