2017-11-03 146 views
0

我想创建数组的非重复行从数组结束从另一个数组开始。如何检查一个字符串匹配正则表达式已存在与javascript阵列

我尝试这样做:

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]) 
     } 
+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正则表达式的所有唯一值。

0

你可以使用的filterSet组合:

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