(保姆教程及高级玩法-自定义数据处理)微信同声传译插件-语音识别

目录

 一、博主博客

二、数据处理代案例(一定要看,不难理解,思路很重要)

 三、思路高级玩法(自定义数据处理)


 一、博主博客

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

结果

猜你喜欢

转载自blog.csdn.net/qq_59747594/article/details/130579345