首頁  >  文章  >  web前端  >  JavaScript趣題:找出兇手

JavaScript趣題:找出兇手

黄舟
黄舟原創
2017-02-15 14:30:381163瀏覽

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

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

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

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

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


	
	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)!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn