重要な証人が殺害された。彼は死ぬ前に犯人の名前を言おうとしたが、その声は弱く断続的で、聞き分けるのが困難だった。
私たちは文字列で表される彼の録音を入手しました。この文字列は文字で始まり、それぞれの 「~」 記号は不確かな文字を表します。
殺人犯のフルネームを告げる前に彼が死ぬ可能性があるため、文字列の長さは名前の長さを意味しません。
警察は容疑者のリストを提供しており、録音に基づいて殺人犯を見つけるために協力を求めています。
結果は文字列である必要があります。見つからない場合は、空の文字列を返します。複数の文字列が見つかった場合は、それらをカンマで区切って返します。
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); //''
注:
1. 大文字と小文字を区別せずに、各容疑者の名前を一致させます。
2. コードはできるだけ短くする必要があります
次の実装では、まず正規表現を使用して文字列内の「~」記号を「.」に置き換えてから、それをパターンの一部として使用して、名前。
function sc(s,a){ var r = []; a.forEach((e)=>{if(new RegExp("^" + s.replace(/~/g,"."),"i").test(e))r.push(e);}); return r.join(","); }
上記は、殺人犯を見つけるための楽しい JavaScript の質問です。その他の関連コンテンツについては、PHP 中国語 Web サイト (m.sbmmt.com) に注目してください。