如何在endsWith()中遍历数组所有后缀元素实现多后缀匹配过滤
JavaScript 多后缀筛选实现方法
在filter的判断逻辑中,借助Array.some()遍历存储后缀的array1,判断当前元素是否命中任意一个后缀即可,具体实现代码如下:
let array1 = ["?", "!", "."]; let array2 = ["live.", "ali!", "harp", "sharp%", "armstrong","yep?"]; console.log(array2.filter(item => array1.some(suffix => item.endsWith(suffix))));
运行后即可得到期望输出['live.', 'ali!', 'yep?']。
逻辑说明
Array.some()会依次遍历后缀数组array1,只要有任意一个后缀让item.endsWith(suffix)返回true,就会停止遍历、直接返回true,表示当前元素符合筛选条件- 这种写法不需要手写循环判断,逻辑简洁,同时命中匹配项后会提前终止遍历,不会做多余的判断操作
内容的提问来源于stack exchange,提问作者mmvergara
相关产品推荐
相关产品推荐

