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

时间:2017-11-03 23:19:45

标签: 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")
                lastArray.push(resultArray[i])
            }
            // console.log(resultArray[i])
        }

2 个答案:

答案 0 :(得分:0)

您可以使用filter

以下是一个例子:

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正则表达式匹配的所有唯一值。

答案 1 :(得分:0)

您可以使用filterSet的组合:

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