比较/过滤两个数组,其中数组 B 包含 A 的任何子字符串

2023-12-06

好的,这是我部分工作的内容(忽略区分大小写),比较以下内容:

arrayA = ["apples", "Oranges", "salt", "Cracked Black Pepper"];
arrayB = ["salt", "pepper", "orange"]

它“部分”与以下内容一起工作:

findAnyMatch(arrayA, arrayB): string[] {
    let returnArray = [];
    let conditionedArrayA = arrayA.map(i => i.toLowerCase().trim())
    for (let i = 0; i < arrayB.length; i++) {
      if (conditionedArrayA .includes(arrayB[i].toLowerCase().trim())) {
        ret.push(arrayB[i].toLowerCase().trim());
      }
    }
    return returnArray;
  }

返回:"salt", "orange"很高兴;问题是它在 arrayA 中看不到“pepper”,因为它前面有“黑色裂纹”。

我如何让它在条件数组A的每个字符串内的任何位置搜索?

Thanks


您可以使用过滤器等。使用正则表达式

  • 过滤器仅用于获取所需值。
  • Some 用于检查是否有任何值arrayA与当前元素匹配。
  • 正则表达式用于匹配字符串。i标志用于不区分大小写。
let arrayA = ["apples", "Oranges", "salt", "Cracked Black Pepper"];
let arrayB = ["salt", "pepper", "orange"]

let find = (A,B) => {
  return B.filter(b=> A.some(a=> new RegExp(b,'i').test(a)))
}

console.log(find(arrayA,arrayB))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

比较/过滤两个数组,其中数组 B 包含 A 的任何子字符串 的相关文章

  • 如何在 Angular 2 中处理 200 以外的 http 状态码

    现在我做http请求的方式 借用这个答案 https stackoverflow com a 34758630 4937981 这是 POST url data var headers new Headers authtoken local
  • 模式弹出窗口上的按钮单击事件,在网格视图内未触发

    我遇到以下问题 场景 我有一个 asp 网格 其中有一些绑定到数据的列 最后一列已转换为模板字段 在这个模板字段中有一个按钮 上面附加了一个模式弹出扩展器 该字段中隐藏着一个模式弹出窗口 此模式弹出窗口用于添加新帐户 它包含 2 个文本框
  • JavaScript 文件中的快速低冲突非加密哈希

    我正在寻找一种用 JavaScript 实现的低冲突的快速哈希 它不需要是加密哈希 我基本上使用它作为查看给定文件是否已上传 或部分上传 到用户帐户的方式 以节省他们在大型 视频 文件上上传的时间 我正在使用新的 HTML5 文件 API
  • Redux - 异步加载初始状态

    我正在尝试找出最简洁的方法来加载来自 API 调用的 Redux 存储的初始状态 据我所知 提供初始状态的典型方法是在页面加载时在服务器端生成它 并将其作为简单对象提供给 Redux createStore 但是 我正在编写一个应用程序 计
  • ng-include 跨域帮助 angularjs

    我正在尝试为加载到 ng include 跨域的 url 实现白名单 这是一场噩梦 我有一个在本地运行良好的包含 div div 然后我像这样添加白名单 angular module myApp ngRoute ngResource con
  • MeteorJS:用户集合如何公开新字段

    我在用户集合中添加了新字段 但是当我在客户端 Meteor user cart 中访问它时 cart 是我的新字段 其未定义 如何公开新字段 购物车 以便可以在客户端中访问 最简单的方法是添加一个null发布者将自动发送数据 无需订阅 请务
  • 访问指令的范围与嵌入内容隔离

    我不确定这是否真的可能 但我本质上想要 AngularJS 中 隔离范围的反转 这里有一个Plunkr http plnkr co edit 3xL5MrdJSfYH22ivkYJS展示 基本上 我设置了一个自定义指令来提供一些可重用的 H
  • 如何将滚动条更改为自定义设计? (避免使用默认浏览器外观)

    在新的 Gmail 中 您可以看到有一个滚动条 但它看起来与浏览器滚动条不同 怎样制作呢 你看到的是WebKit 特定的重新设计 http css tricks com custom scrollbars in webkit 浏览器的滚动条
  • 在javascript中,对象和命名空间有什么区别?

    在读的时候 面向对象的 JavaScript https developer mozilla org en US docs Web JavaScript Introduction to Object Oriented JavaScript
  • 如何创建自定义输入类型?

    例如 我想创建一个类似于 AngularJS 实现 电子邮件 的方式的自定义输入类型
  • 使用 forEach 循环 Array(n),未定义值的数组[重复]

    这个问题在这里已经有答案了 我想快速构建一个数组n使用数组构造函数的长度Array 然后循环得到的数组 Per MDN 的文档 https developer mozilla org en US docs Web JavaScript Re
  • 严格模式与 React 18 的工作方式是否不同?

    考虑下面的片段 有了 React 18 count每次渲染时都会在控制台上打印两次 但在 React 17 中它只打印一次 反应 18 示例 function App const count setCount React useState
  • 如何在 Typescript 中使用默认值定义可选构造函数参数

    是否可以有带有默认值的可选构造函数参数 如下所示 export class Test constructor private foo string foo private bar string bar 这给了我以下错误 参数不能有问号和初始
  • 迭代 Javascript 对象[重复]

    这个问题在这里已经有答案了 我有一个 Javascript 对象 var a tag1 Stocks acctType1 individual compare1 contains match name1 scrapedaccounttype
  • 将 jQuery 集成到电子应用程序中

    我正在尝试将 jquery 功能添加到用 Electron 编写的桌面应用程序中 使用电子快速启动存储库 我将下载的 jquery 文件添加到main html像这样的文件 or so 然后在index js我正在文件中添加代码create
  • eslint/prettier 在 html 标签中添加不需要的空间

    我正在尝试向我的项目添加配置 以便代码自动格式化 我对 VS Code 中的用户设置进行了一些更新 还安装了 eslint 和 prettier 现在 每当我尝试保存我的代码时 都会从中得到改变 div div div div div di
  • Javascript:为什么我需要在 for 循环中声明 var i = 0?

    我正在做一个需要递归的问题 用于计算加起来达到一定数量的硬币组合 有效的解决方案如下 困扰我几个小时的一件事是 当我没有在 for 循环中声明 var i 0 时 它不起作用 据我了解 当我在 for 循环中声明 var 时 它会保留在该范
  • float:使所有 Y 轴的刻度线对齐

    我有一个流程图 除了第一个 Y 轴之外 还使用具有不同数字刻度的辅助 Y 轴 我的问题是辅助刻度标签与第一个浮动轴制作的网格线不对齐 Flot 似乎正在运行一些内部算法来决定为轴显示多少个刻度标签 它对每个轴分别执行此操作 从而产生了我遇到
  • 当父窗口关闭时关闭子窗口(弹出窗口)

    我有一个简单的示例页面 当您单击链接时 我正在使用弹出子弹出窗口进行处理 我一直在尝试各种卸载事件来在父窗口关闭时关闭子窗口 但似乎无法弄清楚我错过了与简单编码相关的内容 弹出窗口工作完美 但是关闭父窗口会使弹出窗口保持打开状态
  • Angular:DOM更新后调用方法

    我正在从 html 调用一个方法 调用休息服务 来增加 减少屏幕上的计数 现在我想调用另一个方法 即 getThreshold 来检查计数是否达到阈值 如果是 我想显示一条确认消息 我想首先更新屏幕上的计数 然后调用该函数来检查它是否达到阈

随机推荐

  • Python/html- 将多个 html 合并为一个 [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我写了一个 python 脚本来将文本文件转换为 html 文件 但如果我不能把它们全部
  • 当没有给出路径时,在java中将在哪里创建一个新文件?

    在Java中 File f f new File myfile txt if f exists f createNewFile 执行上述代码时 默认分配的是哪个路径 而没有给出具体路径 当前目录 您可以通过调用以下命令获取 new File
  • 如何使用 VLC 流式传输图像/文件?

    所以我知道有很多 libVLC dll 的包装器 但我只是不知道谁准备好做我需要做的事情 我需要的很简单 在我的 C 程序中 我创建了一些位图 每秒一次或两次 我现在想使用 VLC 将位图作为视频 以 VLC 可以提供的某种格式 实时流式传
  • 在 malloc 内存上使用 sizeof() [重复]

    这个问题在这里已经有答案了 可能的重复 新手关于malloc和sizeof的问题 我正在尝试将字符串读入程序中 当我注意到字符串有时会被损坏时 我尝试了以下代码 void mallocated malloc 100 printf sizeo
  • 如何将拒绝的行重定向到另一个文件?

    这是我的来源csv file col1 col2 col3 col4 col5 col6 1 A AA X Y H 2 B CC D reject this row because CC it should be in col3 3 E F
  • Laravel 从 base64 返回图像预览

    我有 Base64 图像 我想返回图像预览而不是 Base64 代码 I tried return response base64 decode results gt getBase64Image 200 Content Type gt i
  • Bokeh 跳过分类数据的刻度标签

    我使用的是 Bokeh 版本 0 12 13 我有混合的数字和分类数据 我在 x 轴上只有一个分类数据 其余的都是数字 我将所有内容转换为分类数据来进行绘图 可能不是实现我的目标的最简单方法 现在我的 x 轴刻度标签比我需要的要密集得多 我
  • 如何在mysql中将单行拆分为多列

    简单问一下 mysql中有没有可用的函数将单行元素拆分为多列 我有一个带有字段的表行 user id user name user location 在此用户可以添加多个位置 我使用 php 将位置内爆并将其作为单行存储在表中 当我在网格视
  • Cosmos Mongo API“In”数组表达式问题

    IN 表达式有问题吗 我们遇到的问题是 即使存在 它也找不到我们要求的结果 SerialNumber V8073023 t DeviceEventDataEvent EventType NumberInt 4 isDeleted in fa
  • C++ vector > 在开始处保留大小

    在 C 中我有 vector
  • 检测未初始化的数组

    在下面的程序中 两个例程set int array and set real array为虚拟数组定义一些值 但假设初始化a and r 第 1 行和第 2 行 无意中丢失了 即 这两行在正确的程序中都应该取消注释 我的问题是如何使用某些编
  • Symfony2在全局文件夹下命令行生成树枝模板

    我正在使用 Symfony2 8 每当我使用命令行生成控制器 and 树枝模板模板是在下面创建的 MyBundle Resources views home home html twig 我想遵循以下建议的最佳实践symfony 文档并将其
  • 响应式箭头面包屑导航[重复]

    这个问题在这里已经有答案了 所以我有一个面包屑导航 箭头间隔开 棘手的是我需要它具有响应能力 我想我在使用 vh 和 vw 时已经很混乱了 但我遇到的问题是白色间隔符没有像前面的箭头那样响应 有什么建议么 或者有更好的方法来处理吗 我尝试了
  • Jexcel公式计算错误

    我创建了一个工作表 out xls其中单元格 D6 D5 2 且 D5 设置为 1 我的问题是 当我将值插入 jxl 中的 D5 时 D6 永远不会计算 当我在 Excel 中将 1 插入到 D5 中时 D6 只是保留它最初计算出的值 注意
  • python:转换损坏的xls文件

    我从 SAP 应用程序下载了一些销售数据集 SAP 已自动将数据转换为 XLS 文件 每当我打开它时使用Pandas库我收到以下错误 XLRDError Unsupported format or corrupt file Expected
  • 临时文件目录“/var/www/html/activate/../temp/”在实时服务器上不可写

    我在生成 PDF 文件时在实时服务器上收到此错误 它在我的本地系统上运行良好 我正在使用 Laravel 和这个 mPdf 包来生成 PDF PDF包 我如何向该 Temp 文件夹授予可写权限 我在代码中找不到它 并且在服务器上它也不位于上
  • Apache 2.4 中所有大写的 HTTP 标头都去掉了下划线

    我有一个应用程序依赖于发送全部大写加下划线的 HTTP 标头以及请求 从 开始阿帕奇2 4 包含无效字符 包括下划线 的标题现在 默默地落下 这一页建议您可以更改一些设置 以允许不删除旧的 HTTP 标头 即 如果它们在 CURL 中设置
  • 在光标位置插入笑脸

    我正在制作一个项目 用户可以单击表情符号并将它们插入到 contenteditable div 中 我想要三个 div 无论我在什么 div 中 笑脸都应该插入该 div 中 另外 这里的问题是表情符号只插入在 div 的末尾 我希望笑脸只
  • Javascript:如何获取输入文本区域的最后两个字符?

    获取文本区域框中输入的最后两个字符的最佳方法是什么 我需要输入最后 2 个字符 而不是整个字符串的最后两个字符 感谢您的帮助 你需要抓住keypress文本区域上的事件 然后保留按下的按键的日志 请注意 这将捕获箭头键 Shift Alt
  • 比较/过滤两个数组,其中数组 B 包含 A 的任何子字符串

    好的 这是我部分工作的内容 忽略区分大小写 比较以下内容 arrayA apples Oranges salt Cracked Black Pepper arrayB salt pepper orange 它 部分 与以下内容一起工作 fi