Ich habe zwei Arrays. ein Array Sätze wie so:Javascript - Vergleichen Teilstring von Array 1 mit Strings in Array 2> Verwerfen, wenn mehrere Instanzen
var sentences = [
"Bob goes to the zoo",
"Jim goes to the airport",
"Jenny and Bob go to the beach",
"Jenny goes to the cafe"
]
und die andere Namen wie so:
var names = [
"Bob",
"Jim",
"Jenny"
]
Was ich aus tun wollen in ein neues Array gesetzt wird, sondern nur die Zeichenfolgen, die nur eine Instanz haben aus dem Namen-Array. (So in diesem Beispiel sollte die Zeichenfolge „Jenny und Bob an den Strand gehen“ auslassen
Beispiel Ausgabe:.
var output = [
"Bob goes to the zoo",
"Jim goes to the airport",
"Jenny goes to the cafe"
]
Ich weiß, wie ein Array-Element zu verwerfen, wenn nur eine Instanz vorhanden ist, aber nicht ganz sicher, wie etwa die Überprüfung für mehrere Instanzen gehen wie hier erforderlich:/
Es ist ein potenzielles Problem mit dieser Antwort, wenn es ein Satz ist "' Patrick sagt Hallo zu Patricia'", und zwei weitere Namen "'" Pat " "Patricia"'". Was passiert ist, dass "Patrick Patrick zu Patricia grüßt" würde falsch ausgeschlossen werden. – kazenorin
@kazenorin: einfache Variation kann es funktionieren 'v.split (/ \ s + /) indexOf (v1)' –
Wow! Vielen Dank dafür !! Vor allem, um deinen Code zu kommentieren (ich finde es ein bisschen schwierig, mit Operationen über Arrays hinweg zu arbeiten, so dass deine Kommentare mir definitiv helfen, zu verstehen und zu lernen). Auch danke für das ES6-Beispiel, ich versuche allmählich, in den Griff zu kommen, es zu verwenden :) – AmyH