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

本文介绍了一种用于单条和多条字符串之间的高级匹配算法,并通过具体实现代码详细解释了其工作原理。该算法通过逐字符对比的方式计算输入字符串与目标字符串集合中各条目的匹配程度,最终找出最佳匹配项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

数据格式

在这里插入图片描述

直接上代码

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;
 }

用法

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值