摘要:以后會不定期把項目中用到的也是我們平時開發常用的一些方法貼出來,也是一個自我總結的過程獲取鍵值是我們在項目會經常遇到的需求。
以后會不定期把項目中用到的也是我們平時開發常用的一些方法貼出來,也是一個自我總結的過程
獲取url鍵值是我們在項目會經常遇到的需求。下面是我在項目中封裝的方法,詳細的說明在代碼都有注釋。
/** * 獲取url鍵值 * url => [href] | [param] * 不填參數則返回JSON 格式所有數據 */ const urlCodeToObj = url => { let u = url || window.location.href //判斷url是完整的鏈接還是傳入的參數 if (RegExp(/^((https|http)?://)/).test(u)) { //將url中的空格去掉并匹配"?"后面的參數字符串集合 const search = u.replace(/^s+|s+$/, "").match(/([^?#]*)(#.*)?$/) if (!search) { search = {} } //把匹配到的字符串以"&"分割變換成數組形式 let searchHash = search[1].split("&"); let paramObj = {} //鍵值對對象集合 for (let item of searchHash) { const pair = item.split("=") if (pair[0]) { const key = decodeURIComponent(pair[0]) const value = pair[1] if (value != undefined) { value = decodeURIComponent(value) } } //判斷轉化后的paramObj里面有沒有重復的屬性 if (key in paramObj) { if (paramObj[key] instanceof Array) { //把屬性值變為數組,將另外的屬性值也存放到數組中去 paramObj[key] = [paramObj[key]] } paramObj[key].push(value) } else { paramObj[key] = value } } return paramObj } else { //返回單個屬性值 string if (RegExp(/^w+/).test(u)) { //匹配屬性值,比如http://xxx.com/web/page/prodetail.html?num=200&productID=4690&id=100 //輸入值為 &productID=4690&,然后進行匹配. let reg = new RegExp(`(^|&)${u}=([^&]*)(&|$)`,"i") const matchArr = window.location.search.substr(1).match(reg) if (matchArr != null) return (matchArr[2]) return null } } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/90276.html
摘要:添加依賴到如何使用依賴當你再興建一個文件的時候,就不需要一個個插件安裝了,將文件復制到當前文件下,并輸入,即通過里的依賴關系,自動把依賴安裝好了。第四步新建配置文件默認的配置文件在項目目錄下為。 WilsonLius blog 首發地址 前言 早就想嘗試webpack的,卻一直沒有時間,恰逢周末,又時值最近在公司實習的時候嘗到用fekit做模塊化的構建工具的爽。所以就開始以公司的項目結...
閱讀 883·2021-11-22 12:04
閱讀 2087·2021-11-02 14:46
閱讀 615·2021-08-30 09:44
閱讀 2098·2019-08-30 15:54
閱讀 714·2019-08-29 13:48
閱讀 1586·2019-08-29 12:56
閱讀 3440·2019-08-28 17:51
閱讀 3279·2019-08-26 13:44