用户输入字符串与数据匹配(单条字符串与多条字符串的匹配返回最优匹配)
单条字符串与多条字符串的匹配返回最优匹配
数据格式
直接上代码
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;
}
用法
复制上面代码,在特定地方进行调用和形参传递。