Ein wichtiger Zeuge wurde ermordet, bevor er versuchte, den Namen des Mörders zu nennen, aber seine Stimme war schwach und unterbrochen, was es schwierig machte, ihn zu unterscheiden.
Wir haben seine Aufnahme erhalten, dargestellt durch eine Zeichenfolge. Diese Zeichenfolge beginnt mit einem Buchstaben, und jedes "~"-Symbol stellt einen unbestimmten Buchstaben dar.
Die Länge der Zeichenfolge bedeutet nicht die Länge des Namens, da er möglicherweise stirbt, bevor er den vollständigen Namen des Mörders sagt.
Die Polizei hat eine Liste der Verdächtigen bereitgestellt und bittet Sie um Mithilfe bei der Suche nach dem Mörder anhand der Aufzeichnung.
Das Ergebnis sollte eine Zeichenfolge sein. Wenn keine Zeichenfolge gefunden wird, geben Sie diese bitte durch Kommas getrennt zurück.
var suspects=['Bernard Deltheil','Peter Gone','Peter Reeves','Roland Scorsini'] sc('b~~~~~~~~~~~~~~l',suspects); //'Bernard Deltheil' sc('p~t~r',suspects); //'Peter Gone,Peter Reeves' sc('a~b~c~~d',suspects); //''
Hinweis:
1. Ordnen Sie den Namen jedes Verdächtigen zu und ignorieren Sie die Groß-/Kleinschreibung.
2. Der Code sollte so kurz wie möglich sein
Für die folgende Implementierung habe ich reguläre Ausdrücke verwendet, um zuerst das „~“-Symbol innerhalb der Zeichenfolge durch „.“ zu ersetzen als Teil des Musters, abgestimmt auf den Namen.
function sc(s,a){ var r = []; a.forEach((e)=>{if(new RegExp("^" + s.replace(/~/g,"."),"i").test(e))r.push(e);}); return r.join(","); }
Die oben genannten sind lustige JavaScript-Fragen, um den Mörder herauszufinden. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php .cn)!