2017-11-03 148 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)))]; 
相關問題