zoukankan      html  css  js  c++  java
  • xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!

    URLSearchParams

    https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams

    image

    
    var paramsString = "q=URLUtils.searchParams&topic=api";
    var searchParams = new URLSearchParams(paramsString);
    
    //Iterate the search parameters.
    for (let p of searchParams) {
      console.log(p);
    }
    
    searchParams.has("topic") === true; // true
    searchParams.get("topic") === "api"; // true
    searchParams.getAll("topic"); // ["api"]
    searchParams.get("foo") === null; // true
    searchParams.append("topic", "webdev");
    searchParams.toString(); // "q=URLUtils.searchParams&topic=api&topic=webdev"
    searchParams.set("topic", "More webdev");
    searchParams.toString(); // "q=URLUtils.searchParams&topic=More+webdev"
    searchParams.delete("topic");
    searchParams.toString(); // "q=URLUtils.searchParams"
    
    

    
    "use strict";
    
    /**
     *
     * @author xgqfrms
     * @license MIT
     * @copyright xgqfrms
     *
     * @description SearchParamsGenerator
     * @augments
     * @example
     *
     * @param {String} search
     * @param {Boolean} debug
     *
     */
    
    
    const SearchParamsGenerator = (search = ``, debug = false) => {
        let result = {};
        // do something...
        let params = new URLSearchParams(search);
        for (const param of params) {
            let key = ``,
                value = ``;
            key = param[0];
            value = param[1];
            result[key] = value;
            // console.log(`param =`, param);
            // param = ["gilcode", "600570.SH"];
            // param = ["skin", "white"];
            // param = ["name", "恒生电子"];
            // param = ["type", "0"];
            parseInt("恒生电子", 10);
            // NaN
            parseInt("0", 10);
            // 0
            parseInt("11", 2);
            // 3
            parseInt("11", 10);
            // 11
        }
        return result;
    };
    
    
    
    let search = decodeURIComponent(window.location.search);
    // "?gilcode=600570.SH&skin=white&name=恒生电子&type=0"
    
    SearchParamsGenerator(search);
    // {gilcode: "600570.SH", skin: "white", name: "恒生电子", type: "0"}
    SearchParamsGenerator(search).gilcode;
    // "600570.SH"
    
    // view/stock/index.html?code=600570.SH&skin=white&name=恒生电子&type="0"
    
    // /view/stock/index.html?code=600570.SH&skin=white&name="恒生电子"&type="0"
    
    
    
    // decodeURIComponent(window.location.href);
    // "f10/view/stock/index.html?code=600570.SH&skin=white&name=恒生电子&type=0"
    
    // decodeURI(window.location.href);
    // "/f10/view/stock/index.html?code%3D600570.SH%26skin%3Dwhite%26name%3D恒生电子%26type%3D0"
    
    let searchParams = new URLSearchParams(search);
    
    searchParams.has("code"); // true
    searchParams.get("abc"); // null
    searchParams.get("code"); // "600570.SH"
    searchParams.getAll("code"); // ["600570.SH"]
    
    searchParams.append("xyz", "666");
    searchParams.toString();
    // "code=600570.SH&skin=white&name=%22%E6%81%92%E7%94%9F%E7%94%B5%E5%AD%90%22&type=%220%22&xyz=666"
    decodeURIComponent(searchParams.toString());
    // "code=600570.SH&skin=white&name="恒生电子"&type="0"&xyz=666"
    searchParams.set("code", "600580.SH");
    searchParams.get("code");
    // "600580.SH"
    searchParams.delete("code");
    
    
    searchParams.entries();
    searchParams.keys();
    searchParams.values();
    searchParams.sort();
    
    
    for (const param of params) {
        let key = ``,
            value = ``;
        key = param[0];
        value = param[1];
        console.log(`param =`, param);
    }
    
    for (const param of params.entries()) {
        let key = ``,
            value = ``;
        key = param[0];
        value = param[1];
        console.log(`param =`, param);
    }
    
    for (const param of params.keys()) {
        let key = ``,
            value = ``;
        key = param[0];
        value = param[1];
        console.log(`param =`, param);
    }
    
    
    for (const param of params.values()) {
        let key = ``,
            value = ``;
        key = param[0];
        value = param[1];
        console.log(`param =`, param);
    }
    
    
    
    
    
    

    OK

    
    "use strict";
    
    /**
     *
     * @author xgqfrms
     * @license MIT
     * @copyright xgqfrms
     *
     * @description SearchParamsGenerator
     * @augments
     * @example
     *
     * @param {String} search
     * @param {Boolean} debug
     *
     */
    
    
    const SearchParams = (search = ``, debug = false) => {
        const params = new URLSearchParams(search);
        let result = {};
        for (let param of params) {
            let key = ``,
                value = ``;
            key = param[0];
            value = param[1];
            result[key] = value;
        }
        return result;
    };
    
    
    const SearchParamsGenerator = (search = ``, debug = false) => {
        const params = new URLSearchParams(search);
        let result = {},
            entries = [...params.entries()],
            keys = [...params.keys()],
            values = [...params.values()];
        for (let param of params) {
            let key = ``,
                value = ``;
            key = param[0];
            value = param[1];
            result[key] = value;
        }
        return {
            result,
            entries,
            keys,
            values
        };
    };
    
    
    let search = decodeURIComponent(window.location.search);
    // "?code=600570.SH&skin=white&name=恒生电子&type=0"
    
    
    SearchParams(search);
    SearchParams(search).code;
    // "600570.SH"
    
    
    SearchParamsGenerator(search);
    SearchParamsGenerator(search).result.code;
    // "600570.SH"
    
    
    

    ES6 modules

    
    
    "use strict";
    
    /**
     *
     * @author xgqfrms
     * @license MIT
     * @copyright xgqfrms
     *
     * @description SearchParamsGenerator
     * @augments
     * @example
     *
     * @param {String} search
     * @param {Boolean} debug
     *
     */
    
    
    const SearchParams = (search = ``, debug = false) => {
        const params = new URLSearchParams(search);
        let result = {};
        for (let param of params) {
            let key = ``,
                value = ``;
            key = param[0];
            value = param[1];
            result[key] = value;
        }
        return result;
    };
    
    
    const SearchParamsGenerator = (search = ``, debug = false) => {
        const params = new URLSearchParams(search);
        let result = {},
            entries = [...params.entries()],
            keys = [...params.keys()],
            values = [...params.values()];
        for (let param of params) {
            let key = ``,
                value = ``;
            key = param[0];
            value = param[1];
            result[key] = value;
        }
        return {
            result,
            entries,
            keys,
            values
        };
    };
    
    
    export default SearchParams;
    export {
        SearchParams,
        SearchParamsGenerator
    };
    
    
    /*
    
    let search = decodeURIComponent(window.location.search);
    // "?code=600570.SH&skin=white&name=恒生电子&type=0"
    
    
    SearchParams(search);
    SearchParams(search).code;
    // "600570.SH"
    
    
    SearchParamsGenerator(search);
    SearchParamsGenerator(search).result.code;
    // "600570.SH"
    
    
    */
    
    
    

    URL

    https://developer.mozilla.org/en-US/docs/Web/API/URL/searchParams

    https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/searchParams

    refs



    ©xgqfrms 2012-2020

    www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!


  • 相关阅读:
    [原创]软件性能测试培训
    100w条记录分页,可以有多快?—— DataReader分页与SQL语句分页的对比测试(在线演示)
    【自然框架】注册会员活动——第一份代码的修改建议(第一版)
    加班有几种情况?兼谈讨论的方式。
    衔着树枝飞跃太平洋的傻鸟!(童话版)
    参加活动的好处。
    【自然框架】开源社区活动,会员注册的第一份代码!
    【自然框架】数据访问之精雕细琢(一)存储过程的参数
    自然框架开发系列(一):自然框架 和 AgileEAS.NET 合作,开发b/s的药店系统!
    自然框架开源社区的第一次活动——实现会员注册
  • 原文地址:https://www.cnblogs.com/xgqfrms/p/9138024.html
Copyright © 2011-2022 走看看