<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      URLSearchParams(鮮為人知處理URL地址的技能)

      最近學習中無意發現url新處理方式,看到之后十分感興趣就整理了一下。

      URLSearchParams

      URLSearchParams 接口定義了一些實用的方法來處理 URL 的查詢字符串。參照

      URLSearchParams() 構造器創建并返回一個新的URLSearchParams 對象。 開頭的'?' 字符會被忽略。

      方法

      append(name,value)

      @function 插入一個指定的鍵/值對作為新的搜索參數。
      @param name 需要插入搜索參數的鍵名
      @param value 需要插入參數的值

      const url = new URL(`http://www.programmer.com?a=1&b=2`);
      const searchParams = new URLSearchParams(url.search);
      searchParams.append('c',3);
      console.log(searchParams.toString())
      

      運行結果

      // a=1&b=2&c=3
      

      delete(name)

      @function 刪除指定名稱的所有搜索參數。
      @param name 需要刪除的鍵值名稱

      const url = new URL(`http://www.programmer.com?a=1&b=2`);
      const searchParams = new URLSearchParams(url.search);
      searchParams.delete('b');
      console.log(searchParams.toString())
      

      運行結果

      // a=1
      

      entries()

      @function 返回一個iterator可以遍歷所有鍵/值對的對象。
      @return {iterator}

      const url = new URL(`http://www.programmer.com?a=1&b=2`);
      const searchParams = new URLSearchParams(url.search);
      const paramArr = searchParams.entries();
      for(const item of paramArr){
          console.log(item)
      }
      

      運行結果

      // ['a', '1']
      // ['b', '2']
      

      get(name)

      @function 獲取指定搜索參數的第一個值。
      @param name 將要返回的參數的鍵名。
      @return 返回一個 USVString ;如果沒找到,返回 null.

      const url = new URL(`http://www.programmer.com?a=1&b=2`);
      const searchParams = new URLSearchParams(url.search);
      console.log(searchParams.get('a'))
      

      運行結果

      // 1
      

      getAll(name)

      @function 獲取指定搜索參數的所有值,返回是一個數組。
      @param name 將要返回的參數的鍵名。
      @return 一個USVString數組。

      const url = new URL(`http://www.programmer.com?a=1&b=2`);
      const searchParams = new URLSearchParams(url.search);
      console.log(searchParams.getAll('a'))
      

      運行結果

      // [1]
      

      has(name)

      @function 判斷是否存在此搜索參數。
      @param name 查找的參數的鍵名。
      @return { Boolean }

      const url = new URL(`http://www.programmer.com?a=1&b=2`);
      const searchParams = new URLSearchParams(url.search);
      console.log(searchParams.has('a'))
      

      運行結果

      // true
      

      keys()

      @function 返回iterator 此對象包含了鍵/值對的所有鍵名。
      @return 返回一個iterator.

      const url = new URL(`http://www.programmer.com?a=1&b=2`);
      const searchParams = new URLSearchParams(url.search);
      const keys = searchParams.keys()
      for(let key of keys){
          console.log(key)
      }
      

      運行結果

      // a
      // b
      

      set(name, value)

      @function 用于設置和搜索參數相關聯的值。如果設置前已經存在匹配的值,該方法會刪除多余的,如果將要設置的值不存在,則創建它
      @param name 將要設置的參數的健值名。
      @param value 所要設置的參數值。

      const url = new URL(`http://www.programmer.com?a=1&b=2`);
      const searchParams = new URLSearchParams(url.search);
      searchParams.set('a', 11);
      console.log(searchParams.toString());
      searchParams.set('w', 222);
      console.log(searchParams.toString());
           
      

      運行結果

      // a=11&b=2
      // a=11&b=2&w=222
      

      sort(name, value)

      @function 對包含在此對象中的所有鍵/值對進行排序,并返回undefined。排序順序是根據鍵的Unicode代碼點。該方法使用穩定的排序算法 (即,將保留具有相等鍵的鍵/值對之間的相對順序)。

      const url = new URL(`http://www.programmer.com?a=1&b=2`);
      const searchParams = new URLSearchParams(url.search);
      searchParams.sort();
      console.log(searchParams.toString());
      

      運行結果

      // a=1&b=2
      

      toString()

      @function 返回適用在URL中的查詢字符串。
      @return { String }

      const url = new URL(`http://www.programmer.com?a=1&b=2`);
      const searchParams = new URLSearchParams(url.search);
      console.log(searchParams.toString());
      

      運行結果

      // a=1&b=2
      

      values()

      @function 返回一個iterator,該遍歷器允許遍歷對象中包含的所有值。這些值都是USVString對象。
      @return iterator

      const url = new URL(`http://www.programmer.com?a=1&b=2`);
      const searchParams = new URLSearchParams(url.search);
      const values = searchParams.values()
      for(var value of values) {
           console.log(value);
      }
      

      運行結果

      // 1
      // 2 
      

      實戰

      我們獲取url上的參數之前會這么寫

      function getParams(url) {
        const res = {}
        if (url.includes('?')) {
          const str = url.split('?')[1]
          const arr = str.split('&')
          arr.forEach(item => {
            const key = item.split('=')[0]
            const val = item.split('=')[1]
            res[key] = decodeURIComponent(val) // 解碼
          })
        }
        return res
      }
      
      
      const user = getParams('http://www.programmer.com?a=1&b=2')
      console.log(user) 
      // { a: 1, b: 1 }
      

      如今學會了,只需兩行代碼搞定 加班那不可能

      const url = new URL(`http://www.programmer.com?a=1&b=2`);
      const searchParams = new URLSearchParams(url.search);
      const params = Object.fromEntries(searchParams.entries());
      console.log(params)
      // { a: 1, b: 1 }
      
      
      posted @ 2022-03-11 11:33  zshNo1  閱讀(1686)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产精品亚洲二区在线看| 亚洲精品中文字幕一区二| 久久精品国产亚洲av热一区| 黑人巨茎大战欧美白妇| 久久97超碰色中文字幕| 怡红院一区二区三区在线| 日韩国产欧美精品在线| 高潮videossex潮喷| 亚洲国产大胸一区二区三区| 日韩乱码人妻无码中文字幕视频| 国产成人理论在线视频观看| 精品国产一区二区三区四区阿崩| 亚洲精品一二三在线观看| 中文字幕av一区二区| 国色天香成人一区二区| 日韩一区二区三区av在线| 日韩精品人妻中文字幕| 国产精品无码一区二区在线| 青青草国产精品一区二区| 国产精成人品日日拍夜夜| 炎陵县| 国产午夜伦伦午夜伦无码| 国产欧美日韩精品丝袜高跟鞋| 白丝乳交内射一二三区| 国产精品三级爽片免费看| 国产999精品2卡3卡4卡| 亚洲精品一区二区区别| 国内熟妇人妻色在线视频| 视频一区二区三区中文字幕狠狠| 中文字幕无码专区一VA亚洲V专| 精品一区二区三区东京热| 亚洲国产av一区二区| 国内精品无码一区二区三区| 亚洲国产精品日韩av专区| 性欧美VIDEOFREE高清大喷水| 宅男噜噜噜66网站高清| 四虎国产精品成人免费久久| 婷婷四虎东京热无码群交双飞视频| 亚洲欧洲日产国码久在线| 无码国产偷倩在线播放| 综合偷自拍亚洲乱中文字幕|