成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

常見的面試問題:【JavaScript】匹配elective后的數(shù)字輸出

microcosm1994 / 912人閱讀

摘要:方案一其中這個正則表達式是零寬度斷言的寫法,斷言有無內(nèi)容,是匹配的字符的,是指匹配以開頭的字符串指匹配數(shù)字開頭,可能不定數(shù)量逗號分隔后是數(shù)字的字符串。

一、問題

Url 有以下三種情況:

    var url_1 = "https://www.xx.cn/api?keyword=&level1=&local_batch_id=&elective=&local_province_id=33";
    var url_2 = "https://www.xx.cn/api?keyword=&level1=&local_batch_id=&elective=800&local_province_id=33";
    var url_3 = "https://www.xx.cn/api?keyword=&level1=&local_batch_id=&elective=800,700&local_province_id=33";

匹配 elective 后的數(shù)字輸出(寫出你認為的最優(yōu)解法):

    [] || ["800"] || ["800","700"]
二、答案

答題可以考慮下以下幾點:

效率高;

可以擴展換 Url,換字段;

elective 是跟在一堆空值后面,要效率較高的排除掉前面的匹配;

匹配完 elective 的值之后, & 后面的匹配需要立刻停止,減少性能消耗;

第三個的 Url 中帶了 ,,也要考慮其他符號的可能性。

2.1 方案一
function getUrlValue(url){
  if(!url) return;
  // let res = url.match(/(?<=elective=)(d+(,d+)*)/);
  // let res = /(?<=elective=)(d+(.d)*)/g.exec(url);
  let res = url.match(/(?<=elective=)(d+(,d+)*)/);
  return res ? res[0].split(",") : [];
}

其中:這個正則表達式 <=是零寬度斷言的寫法,斷言 elective=有無內(nèi)容,是匹配elective=的字符的,(?<=elective=) 是指匹配以elective=開頭的字符串;
(d+(.d)*)指匹配數(shù)字開頭,可能不定數(shù)量逗號分隔后是數(shù)字的字符串。

2.2 方案二
function getQueryFromUrl(key, url) {
  const matches = url.match(new RegExp(`(?|&)${key}=([^&]*)(&|$)`));
  return !matches || matches.length <= 0 ? [] : (matches[2] ? matches[2].split(",") : []);
}
getQueryFromUrl("elective" , url_1)
2.3 方案三

IE 不支持。

function getParamsUrl(url) {
  var res = new URLSearchParams(url).get("elective");
  return res ? res.split(",") : []; 
}

文章來自:Daily-Interview-Question:第10題 編程題
正則資料可參考:陳水水的個人博客 正則表達式

更多文章分享:https://www.artroy.com.cn/

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/110289.html

相關(guān)文章

  • 前端面試題收集,持續(xù)更新中

    摘要:對于所訪問的每個元素,函數(shù)應(yīng)該將該元素傳遞給所提供的回調(diào)函數(shù)。 HTML 在線閱讀Github地址 題目列表 HTML HTML和XHTML的區(qū)別 Html的語義化 Doctype的文檔類型 cookie、sessionSttorage、localStory區(qū)別 HTML全局屬性(global attribute)有哪些? 常見的瀏覽器內(nèi)核有哪些? 介紹一下你對瀏覽器內(nèi)核的理解?...

    kgbook 評論0 收藏0
  • 前端面試題收集,持續(xù)更新中

    摘要:對于所訪問的每個元素,函數(shù)應(yīng)該將該元素傳遞給所提供的回調(diào)函數(shù)。 HTML 在線閱讀Github地址 題目列表 HTML HTML和XHTML的區(qū)別 Html的語義化 Doctype的文檔類型 cookie、sessionSttorage、localStory區(qū)別 HTML全局屬性(global attribute)有哪些? 常見的瀏覽器內(nèi)核有哪些? 介紹一下你對瀏覽器內(nèi)核的理解?...

    2json 評論0 收藏0
  • 前端面試題收集,持續(xù)更新中

    摘要:對于所訪問的每個元素,函數(shù)應(yīng)該將該元素傳遞給所提供的回調(diào)函數(shù)。 HTML 在線閱讀Github地址 題目列表 HTML HTML和XHTML的區(qū)別 Html的語義化 Doctype的文檔類型 cookie、sessionSttorage、localStory區(qū)別 HTML全局屬性(global attribute)有哪些? 常見的瀏覽器內(nèi)核有哪些? 介紹一下你對瀏覽器內(nèi)核的理解?...

    adam1q84 評論0 收藏0
  • 前端面試題總結(jié)(js、html、小程序、React、ES6、Vue、算法、全棧熱門視頻資源)

    摘要:并總結(jié)經(jīng)典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優(yōu)化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快速搭建項目。 本文是關(guān)注微信小程序的開發(fā)和面試問題,由基礎(chǔ)到困難循序漸進,適合面試和開發(fā)小程序。并總結(jié)vue React html css js 經(jīng)典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優(yōu)化項目,在瀏覽器端的層面上提升速度,幫助初中級前端工程師快...

    li21 評論0 收藏0

發(fā)表評論

0條評論

microcosm1994

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<