(ナニー チュートリアルと高度なゲームプレイ - カスタム データ処理) WeChat 同時通訳プラグイン - 音声認識

目次

 1. ブロガーのブログ

2. データ処理生成の事例 (必読、理解するのは難しくない、考え方は非常に重要)

 3. 高度なゲームプレイのアイデア(カスタムデータ処理)


 1. ブロガーのブログ

(ナニーのチュートリアルと高度なゲームプレイ) WeChat 同時通訳プラグイン - 音声認識__Lan のブログ - CSDN ブログ

(ナニーのチュートリアルと高度なゲームプレイ) WeChat 同時通訳プラグイン - 音声認識__Lan のブログ - CSDN ブログ

2. データ処理生成の事例 (必読、理解するのは難しくない、考え方は非常に重要)

上記は私が公開してまとめたチュートリアルですが、以下ではデータ処理に正則化を使用する方法を示します。

よく見てください。この方法は非常に難しいことがわかりますが、詳細を理解するには、まずケースを体験してください。

//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)

以下は出力されたログです

 3. 高度なゲームプレイのアイデア(カスタムデータ処理)

これを見ればコードの内容は理解できたと思いますが、以下がコアコードです。

//核心代码-----------------------------------+++
			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
おすすめ