javascript - 如何通过比较 JavaScript 中的两个字符串从字符串中获取一个值?
问题描述
我认为我的问题(上)太宽泛了。让我在这里试着解释一下……
假设我在一个字符串中有 5 个部门:
"Accounting ResearchDevelopment **InformationTech** System FrontOffice"
我有另一个这样的字符串:
"John is in **InformationTech** department"
该值是InformationTech
因为该值在两个字符串中匹配。
如何在InformationTech
没有或最小的 for 循环的情况下从这两个字符串中获取一个值?
解决方案
假设部门从不包含空格,您可以拆分字符串,然后用于filter()
提取重复项:
let string1 = 'Accounting ResearchDevelopment InformationTech System FrontOffice';
let string2 = 'John is in InformationTech department';
let arr1 = string1.split(' ');
let arr2 = string2.split(' ');
let matches = arr1.filter(val => { return arr2.indexOf(val) != -1; });
console.log(matches);
上面还支持多个匹配,并且会返回一个包含共享单词的数组。
推荐阅读
- aws-amplify - AWS Amplify - 循环下载 JS 文件
- flask - 烧瓶 SocketIO 错误请求 400
- node.js - 在 react 应用中缓存 node_modules 目录
- python - 仅使用 numpy 的多元多元线性回归
- php - 为什么响应总是无效的请求正文?
- google-cloud-platform - 服务帐号的 GCP Cloud Scheduler 权限错误
- google-cloud-platform - 谷歌云 NLP 与 UiPath 的集成
- java - 继承时是否继承了基类中的超类对象?
- javascript - “计算属性”可能只是流中的文字值?
- r - 在 ggplot 中显示 y~log(x) 函数的 R2 和 p 值