Javascript 如何通过关键词获取最相关的问题
我想通过查看用户输入找到答案,并检查哪个答案的关键字最匹配。Javascript 如何通过关键词获取最相关的问题,javascript,jquery,arrays,object,Javascript,Jquery,Arrays,Object,我想通过查看用户输入找到答案,并检查哪个答案的关键字最匹配。 我有一个对象数组。当用户提交表单时,我希望查看用户输入,并检查用户输入中哪个答案的标签最多。 我不知道如何开始。 有人知道我是如何在JS或jQuery中做到这一点的吗? 我需要找到答案,其中大多数关键字(标签)是在用户输入 这是我现在拥有的代码: var objectArr=[{ “标签”:[“windows”、“3cx”、“webclient”、“hoe”、“venster”、“windows venster”], “答案”:“M
我有一个对象数组。当用户提交表单时,我希望查看用户输入,并检查用户输入中哪个答案的标签最多。
我不知道如何开始。
有人知道我是如何在
JS
或jQuery
中做到这一点的吗?我需要找到答案,其中大多数关键字(标签)是在用户输入 这是我现在拥有的代码:
var objectArr=[{
“标签”:[“windows”、“3cx”、“webclient”、“hoe”、“venster”、“windows venster”],
“答案”:“Maak op je bureaublad een Snelotets aan en kies als doel:
“C:\Program Files(x86)\Google\Chrome\Application\Chrome.exe”–应用程序=https://pbx000000.fluxcloud.eu:5001/webclient
他在全国人民广播公司(PBX)的链接中使用了数百万美元。”
},
{
“标签”:[“swyx”、“toestel”、“opstarten”、“blijft”、“opnieuw”、“mijn”、“werkt niet”],
“回答”:“软件更新是最新的。
我可以在herstellen的软件更新中使用该软件。
},
{
“标签”:[“toestel”、“vast”、“bellen”、“kan niet”、“werkt niet”],
“答案:”“Zorg ervoor dat de telefonie Applications(SwyxIt!)是一个最新的应用程序,它是一个最新的应用程序。
它是一个最新的应用程序,在SwyxIt!naar:Instellingen–CTI–CTI gebruiken–start koppelen。”
},
{
“标签”:[“客户”、“swyx”、“inloggen”、“kan niet”、“werkt niet”],
“回答:”“控制者在电脑上工作,工作时间为3分钟。控制者在电脑上工作,工作时间为3分钟。
控制者在电脑上工作,工作时间为3分钟。
控制者在电脑上工作,工作时间为3分钟。
控制者在电脑上工作,工作时间为3分钟。
控制者在电脑上工作,工作时间为3分钟。
},
{
“标签”:[“beltoon”、“geen”、“swyx”、“swyxphone”、“mijn”],
“回答”:“在贝尔西姆布尔市和斯特里普·多尔希恩市的展示中使用了L640手机,
这是一个非常有趣的时刻。
这是一个非常有趣的时刻
}
];
$(“#提交”)。单击(功能(e){
var输入=$(“#用户_输入”).val();
//通过用户输入中的标记在对象数组中搜索答案的部分
var answer=“在对象中查找”;
/////////
$(“#答案”).html(答案);
});代码>
发送
你的意思是这样的
您可以计算结果以缩小范围
var objectArr=[{“tags”:[“windows”、“3cx”、“webclient”、“hoe”、“venster”、“windows venster”],“answer”:“Maak op je Bureaaublad een sneltoets aan en kies als doel:
“C:\Program Files(x86)\Google\Chrome\Application\Chrome.exe”–应用程序=https://pbx000000.fluxcloud.eu:5001/webclient
在naar het juiste PBX nummer wat er hoort的链接中,{“标签”:[“swyx”、“toestel”、“opstarten”、“blijft”、“opnieuw”、“mijn”、“werkt niet”],“答案”:“软件更新是最新的。
我可以在herstellen的软件上使用toestel opsturen naar。
de kosten van Hestellen van het toestel bedraagt€25,{“标签”:[“toestel”,“vast”,“bellen”,“kan niet”,“werkt niet”],“答案”:“Zorg ervoor dat de telefonie application(SwyxIt!)”这是一个很好的例子。
这是一个很好的例子,但在SwyxIt!naar:Instellingen–CTI–CTI gebruiken–start koppelen.},{“tags”:[“client”,“swyx”,“inloggen”,“kan niet”,“werkt niet”],“answer”:控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者,控制者SwyxPhone L640 laat在belsymbool zien waar和streep doorheen staat的屏幕上显示。
在最短的时间内,在任何活动中都可以看到它。
Door De“*”toets voor langere tijd,kun je De beltonen weer Activern.”;
const finder=function(search,target){return search.map(function(val){return target.filter(function(e){return val==e;}).length;}
$(“表格”)。关于(“提交”,职能部门(e){
e、 预防默认值();
$(“#答案”).empty();
常量输入=$(“#用户输入”).val().toLowerCase().split(“”);
让我们回答“什么也没找到”;
设most=0;
objectArr.forEach(项=>{
const count=finder(输入,item.tags)。reduce((a,b)=>a+b,0)
如果(计数>most){
答案=项目。答案
}
})
$(“#答案”).html(答案);
});
/*随便找
var answers=objectArr.filter(项=>{
返回input.some(r=>item.tags.includes(r))
})
*/
发送
你的意思是这样的
您可以计算结果以缩小范围
var objectArr=[{“tags”:[“windows”、“3cx”、“webclient”、“hoe”、“venster”、“windows venster”],“answer”:“Maak op je Bureaaublad een sneltoets aan en kies als doel:
“C:\Program Files(x86)\Google\Chrome\Application\Chrome.exe”–应用程序=https://pbx000000.fluxcloud.eu:5001/webclient
在naar het juiste PBX nummer wat er hoort的链接中,{“标签”:[“swyx”、“toestel”、“opstarten”、“blijft”、“opnieuw”、“mijn”、“werkt niet”],“答案”:软件更新是最新的。
我可以在herstellen的软件上使用toestel opsturen naar。
de kosten van Hestellen van het toestel bedraagt€25,{“标签”:[“toestel”,“vast”,“bellen”,“kan niet”,“werkt niet”],“答案”:“Zorg ervoor dat de telefonie Applications(SwyxIt!))opgestart是否与toestel相同