javascript - JavaScript 部分匹配数组中的字符串
问题描述
const arr = ['be-', 'fe-', 'automated'];
const str = 'fe-cheese';
const oi = arr.includes(str) ? 'cheese' : 'meat';
console.log(oi);
我有一个部分匹配的数组,我想检查字符串是否包含arr
.
上面meat
应该匹配fe-
并返回时返回cheese
解决方案
您可以使用Array.some
. 如果任何迭代返回 true ,它将遍历一个数组并返回true。注意:这具有短路执行的额外好处,这意味着一旦到达返回 true 的第一个迭代,它就不会继续其余的迭代,因为它们是不必要的。
const arr = ['be-', 'fe-', 'automated'];
const str = 'fe-cheese';
const oi = arr.some(a => str.indexOf(a) > -1) ? 'cheese' : 'meat';
console.log(oi);
验证提供的字符串中是否存在至少一个元素 (indexOf)。
推荐阅读
- angular - 如何在 PrimeNG 表中按 json 显示该组?
- testing - 仪表板上的 Azure Devops 进度报告
- css - 仅当只有一个使用 css 的孩子并做出反应时,如何将 css 属性设置为 div?
- r - 重新编码多个变量时出现问题,错误 - in .subset(x, j) : invalid subscript type 'list'
- mysql - SHOW 语句如何映射到查询
- r - 如何在给定时间而不是在计时器上更新反应函数?
- class - 在 Common Lisp 中的类名上调用类分配的插槽
- mysql - 如何确定每个订单是否超过或低于 SQL 中的平均订单价值
- sql - 许多其他实体引用的 SQL 实体 - 最佳实践
- r - ggplot散点图排列X轴值