JavaScript 재미있는 질문: 살인자를 찾아보세요

黄舟
풀어 주다: 2017-02-15 14:30:38
원래의
1211명이 탐색했습니다.

주요 증인이 살해당했고, 죽기 전 범인의 이름을 밝히려 했으나 목소리가 약하고 간헐적이어서 구별하기 어려웠다.

문자열로 표시되는 그의 녹음을 얻었습니다. 이 문자열은 문자로 시작하며 각 "~" 기호는 불확실한 문자를 나타냅니다.

문자열의 길이가 이름의 길이를 의미하지는 않습니다. 살인자의 이름을 말하기 전에 죽을 수도 있기 때문입니다.

경찰은 용의자 명단을 제공했으며, 녹음 내용을 토대로 살인범을 찾을 수 있도록 협조를 요청했습니다.

결과는 문자열이어야 합니다. 찾을 수 없으면 빈 문자열을 반환합니다. 여러 개일 경우 쉼표로 구분하여 반환하세요.


	
	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 중국어 웹사이트(www.php.cn)를 주목하세요. )!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!