用户输入字符串与数据匹配(单条字符串与多条字符串的匹配返回最优匹配)

单条字符串与多条字符串的匹配返回最优匹配

数据格式

用户输入字符串与数据匹配(单条字符串与多条字符串的匹配返回最优匹配)

直接上代码

str为用户输入字符串 res为JSON数据

//高级匹配
function sdpp(str,res) { 
	var arr=[];
	//遍历数据
	res.forEach(ele=>{
		var index=0;//记录匹配字符次数
		for(let i=0;i<str.length;i++){
			for(let j=0;j<ele.wen.length;j++){
				//用户输入字符的字符与数据字符匹配
				if(str.slice(i,i+1)==ele.wen.slice(j,j+1)){
					index++;
				}
			}
		}
		var obj={
			index:index,
			ele:ele
		}
		arr.push(obj);
	})
	//假设第一个是最优匹配
	var max=arr[0].index;
	var maxarr="";
	//遍历选出最优并返回
	arr.forEach(ele=>{
		if(ele.index>max){
			max=ele.index;
			maxarr=ele;
		}
	})
	return maxarr;
 }

用法

复制上面代码,在特定地方进行调用和形参传递。