javascript - 确定某个字符串是否存在于以另一个数组中的另一组字符串开头的数组中

标签 javascript underscore.js

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

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

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

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

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

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

最佳答案

不需要库,只需根据第二个数组的某些子字符串是否包含在正在迭代的单词中来过滤第一个数组即可:

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

关于javascript - 确定某个字符串是否存在于以另一个数组中的另一组字符串开头的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52659048/

相关文章:

javascript - SoundCloud URL 的正则表达式

backbone.js - 如何将所有模板放在不同的 HTML 文件中,如 "AppTmpl.html"以及如何访问主干中的这些模板?

javascript - Backbone 路由器不工作

javascript - 使用 Underscore _.bind 时无法在监听器上获取 videojs

JavaScript:是否可以将变量传递到分配给变量的回调函数中?

javascript - 将 mocha+chai 与 co 一起使用

javascript - 取消压缩/解压缩 JavaScript

JavaScript:parseInt 与 Array.map 的基数之谜

javascript - 按偏移量对数组进行分组

javascript - 如何将JS哈希表转换为特定顺序的数组?