ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript の楽しい質問: 殺人者を見つけてください

JavaScript の楽しい質問: 殺人者を見つけてください

黄舟
黄舟オリジナル
2017-02-15 14:30:381220ブラウズ

重要な証人が殺害された。彼は死ぬ前に犯人の名前を言おうとしたが、その声は弱く断続的で、聞き分けるのが困難だった。

私たちは文字列で表される彼の録音を入手しました。この文字列は文字で始まり、それぞれの 「~」 記号は不確かな文字を表します。

殺人犯のフルネームを告げる前に彼が死ぬ可能性があるため、文字列の長さは名前の長さを意味しません。

警察は容疑者のリストを提供しており、録音に基づいて殺人犯を見つけるために協力を求めています。

結果は文字列である必要があります。見つからない場合は、空の文字列を返します。複数の文字列が見つかった場合は、それらをカンマで区切って返します。


	
	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 サイト (www.php.cn) に注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。