目前我在javascript中做多个字符串匹配,我知道我们大多数人都熟悉javascriptevery
方法,因此它提供了true
或false
。在性能方面,还有比这更好的方法吗?
'javascript code'.split(' ').every(val => 'you should code in javascript'.includes(val));
我的实际字符串长度非常大,在使用这种jsevery
方法时成为性能瓶颈。
您可以检查该词集是否是较大词集的子集。
const needles = 'javascript code'.split(' ');
const haystack = 'you should code in javascript'.split(' ');
const is_subSet = (a, b) => {
const setA = new Set(a), setB = new Set(b);
return [...setA].every(v => setB.has(v));
};
is_subSet(needles, haystack);