如何通过比较JavaScript中的两个字符串从字符串中获取值?

如何通过比较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

我认为我的问题(上面)太宽泛了。让我在这里解释一下

假设我有5个部门:

"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,非常感谢!没问题,很乐意帮忙。