首页 > 解决方案 > JavaScript 部分匹配数组中的字符串

问题描述

const arr = ['be-', 'fe-', 'automated'];

const str = 'fe-cheese';
const oi = arr.includes(str) ? 'cheese' : 'meat';

console.log(oi);

我有一个部分匹配的数组,我想检查字符串是否包含arr.

上面meat应该匹配fe-并返回时返回cheese

标签: javascriptarraysecmascript-6

解决方案


您可以使用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)。


推荐阅读