如何使用javascript检查数组中是否已经存在与正则表达式匹配的字符串

如何使用javascript检查数组中是否已经存在与正则表达式匹配的字符串,javascript,arrays,string,scripting,duplicates,Javascript,Arrays,String,Scripting,Duplicates,我试图创建一个非重复行数组,从数组的末尾到另一个数组的开头 我试过这个: for(var i = len; i > 0; i--){ if(resultArray[i] != undefined && resultArray[i].match(blahRegex)){ if(lastArray[blahRegex]){ console.log("entering here")

我试图创建一个非重复行数组,从数组的末尾到另一个数组的开头

我试过这个:

for(var i = len; i > 0; i--){
        if(resultArray[i] != undefined && resultArray[i].match(blahRegex)){
            if(lastArray[blahRegex]){
                console.log("entering here")
                lastArray.push(resultArray[i])
            }
            // console.log(resultArray[i])
        }

您可以使用
过滤器

以下是一个例子:

var lastArray = resultArray.filter(value => blahRegex.test(value));
哦,刚刚注意到您只想保留唯一的值

var lastArray = resultArray.reduce((acc, value) => {
     if(blahRegex.test(value) && acc.indexOf(value) == -1){
         acc.push(value);
     }
     return acc;
}, []);

这样做的目的是在
resultArray
数组中保留与
blahRegex
regex匹配的所有唯一值。

您可以使用
过滤器进行此操作

以下是一个例子:

var lastArray = resultArray.filter(value => blahRegex.test(value));
哦,刚刚注意到您只想保留唯一的值

var lastArray = resultArray.reduce((acc, value) => {
     if(blahRegex.test(value) && acc.indexOf(value) == -1){
         acc.push(value);
     }
     return acc;
}, []);

这样做的目的是在
resultArray
数组中保留与
blahRegex
regex匹配的所有唯一值。

您可以使用
过滤器
设置
的组合:

let lastArray = [...new Set(resultArray.filter(value => blahRegex.test(value)))];

您可以结合使用
过滤器
设置

let lastArray = [...new Set(resultArray.filter(value => blahRegex.test(value)))];
我们需要投入和预期产出…我们需要投入和预期产出。。。