首页 > 解决方案 > 确定一个字符串是否存在于以另一个数组中的另一组字符串开头的数组中

问题描述

我不确定我是否在标题中解释得很好,但这里有一个例子:

我有两个数组:我想获取 arr2 中的每个字符串并查看 arr1 中是否有匹配项。

let arr1 = ["Apple","Ape","Orange","Apricot","Pineapple"]
let arr2 = ["Ap","Or"]

我想取回以下数组(以任何顺序):

["Apple","Ape","Orange","Apricot"]

我找到了 .includes() 但它只搜索完全匹配。

标签: javascriptunderscore.js

解决方案


不需要库,只需要filter第一个数组,some即第二个数组的子字符串是否包含在被迭代的单词中:

let arr1 = ["Apple","Ape","Orange","Apricot","Pineapple"]
let arr2 = ["Ap","Or"]
console.log(
  arr1.filter((word) => arr2.some(substr => word.includes(substr)))
);


推荐阅读