const arr = ['be-', 'fe-', 'automated'];
const str = 'fe-cheese';
const oi = arr.includes(str) ? 'cheese' : 'meat';
console.log(oi);
我有一个部分匹配的数组,我想检查字符串是否包含arr
中的任何部分。
当上面的代码应该与fe-
匹配并返回cheese
时,它返回meat
发布于 2018-07-04 04:08:49
您可以使用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)。
https://stackoverflow.com/questions/51162155
复制相似问题