2017-11-03 1 views
0

Ich versuche ein Array von nicht duplizierten Zeilen zu erzeugen, die vom Ende des Arrays ausgehen und von einem anderen Array starten.Wie überprüfe ich, ob eine Zeichenkette, die Regex entspricht, bereits im Array mit Javascript vorhanden ist

Ich versuchte dies:

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

Wir brauchen * Eingabe * und erwartet * Ausgabe * ... –

Antwort

0

Sie filter dafür verwenden können.

Hier ein Beispiel:

var lastArray = resultArray.filter(value => blahRegex.test(value)); 

Oh, habe gerade bemerkt, dass Sie nur eindeutige Werte behalten wollen.

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

Was dies bedeutet ist, alle Einzelwerte im resultArray Array zu erhalten, die die blahRegex Regex.

0

Sie könnten eine Kombination aus filter verwenden und Set:

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