如何通过比较JavaScript中的两个字符串从字符串中获取值?
我认为我的问题(上面)太宽泛了。让我在这里解释一下 假设我有5个部门:如何通过比较JavaScript中的两个字符串从字符串中获取值?,javascript,json,string,function,parsing,Javascript,Json,String,Function,Parsing,我认为我的问题(上面)太宽泛了。让我在这里解释一下 假设我有5个部门: "Accounting ResearchDevelopment **InformationTech** System FrontOffice" 我还有另一个类似的字符串: "John is in **InformationTech** department" 该值为InformationTech,因为该值在两个字符串中匹配 如何从没有或最小for循环的这两个字符串中获取值Infor
"Accounting ResearchDevelopment **InformationTech** System FrontOffice"
我还有另一个类似的字符串:
"John is in **InformationTech** department"
该值为InformationTech
,因为该值在两个字符串中匹配
如何从没有或最小for循环的这两个字符串中获取值
InformationTech
?假设部门不包含空格,可以拆分字符串,然后使用filter()
提取重复项:
let string1='Accounting ResearchDevelopment InformationTech System FrontOffice';
设string2='约翰在信息技术部门';
设arr1=string1.split(“”);
设arr2=string2.拆分(“”);
让matches=arr1.filter(val=>{return arr2.indexOf(val)!=-1;});
console.log(匹配项)代码>我想这个例子会对你有所帮助
"John is in InformationTech department".split(' ').filter(word => "Accounting ResearchDevelopment InformationTech System FrontOffice".split(' ').includes(word));
与BenMs的解决方案几乎相同,但我稍微更改了过滤器
let string1=“会计研究开发**信息技术**系统前台”
let string2=“John在**信息技术**部门”
设strings1=string1.拆分(“”);
设strings2=string2.拆分(“”);
让solution=strings1.filter(s1=>strings2.includes(s1));
console.log(解决方案)代码>以下是快速解决方案:)
let string1=“会计研究开发**信息技术**系统前台”
let string2=“John在**信息技术**部门”
让结果=string1.split(“”).filter(str=>{
返回字符串2.indexOf(str)>0
})
控制台日志(结果)代码>在我看来像是家庭作业。到目前为止,您尝试了什么?首先,如果您首先遇到这个问题,我想说您几乎肯定是做错了什么,因为这是一种糟糕的数据管理方式。除非这是一个家庭作业或类似的东西,在这种情况下,有任何其他限制?比如,分配的规则是“不循环或最小循环”吗?GottZ,我尝试过循环,但它很长。我在找一条捷径。。。可能是.include()或.map()或.search()之类的,但我是新手。使用数组来存储数据,而不是字符串。只需使用一对***
来检查单词…BenM,非常感谢!没问题,很乐意帮忙。