首頁 > web前端 > js教程 > 主體

JavaScript趣題:找出兇手

黄舟
發布: 2017-02-15 14:30:38
原創
1219 人瀏覽過

一位關鍵的證人被謀殺了,他在臨死前想說出兇手的姓名,但聲音很微弱又斷斷續續,難以分辨。

我們取得了他的錄音,用一個字串表示,這個字串以一個字母開頭,每一個「~」符號代表一個不確定的字母。

字串的長度並不意味著名字的長度,因為他有可能在說出兇手完整名字前就咽氣了。

警方提供了一份嫌犯的名單,要你協助,根據錄音,找出兇手。

結果應該為字串,如果找不到,返回空字串,如果找出了多個,請返回這些,並用逗號分割開來。


	
	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學習者快速成長!