주요 증인이 살해당했고, 죽기 전 범인의 이름을 밝히려 했으나 목소리가 약하고 간헐적이어서 구별하기 어려웠다.
문자열로 표시되는 그의 녹음을 얻었습니다. 이 문자열은 문자로 시작하며 각 "~" 기호는 불확실한 문자를 나타냅니다.
문자열의 길이가 이름의 길이를 의미하지는 않습니다. 살인자의 이름을 말하기 전에 죽을 수도 있기 때문입니다.
경찰은 용의자 명단을 제공했으며, 녹음 내용을 토대로 살인범을 찾을 수 있도록 협조를 요청했습니다.
결과는 문자열이어야 합니다. 찾을 수 없으면 빈 문자열을 반환합니다. 여러 개일 경우 쉼표로 구분하여 반환하세요.
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)를 주목하세요. )!