javascript - 确定一个字符串是否存在于以另一个数组中的另一组字符串开头的数组中
问题描述
我不确定我是否在标题中解释得很好,但这里有一个例子:
我有两个数组:我想获取 arr2 中的每个字符串并查看 arr1 中是否有匹配项。
let arr1 = ["Apple","Ape","Orange","Apricot","Pineapple"]
let arr2 = ["Ap","Or"]
我想取回以下数组(以任何顺序):
["Apple","Ape","Orange","Apricot"]
我找到了 .includes() 但它只搜索完全匹配。
解决方案
不需要库,只需要filter
第一个数组,some
即第二个数组的子字符串是否包含在被迭代的单词中:
let arr1 = ["Apple","Ape","Orange","Apricot","Pineapple"]
let arr2 = ["Ap","Or"]
console.log(
arr1.filter((word) => arr2.some(substr => word.includes(substr)))
);
推荐阅读
- kubernetes - 有条件的舵钩
- c# - 选择语句:无效的列名,在 C# 中使用 Dapper
- php - 从数组 .. 中查找字符串中的所有匹配项并返回匹配项
- android - 当我在数据库中保存为时间戳的日期临近时,Firestore 是否可以向我的应用发送通知?
- matlab - 缺少 Matlab 共享库导致的错误
- android - java.io.FileNotFoundException: Permission denied - 在颤振中我得到了这个错误
- python-3.x - 无法导入 gensim 模块
- postgresql - 故障转移/切换后更改节点 IP 的可能性
- python-3.x - 列表中的一对坐标,其 y 轴相等且 x 轴彼此大或小 1
- autodesk-forge - BIM 360 无法创建现有文件的版本