目录
一、博主博客
(保姆教程及高级玩法)微信同声传译插件-语音识别__揽的博客-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"
})
结果