手写实现getUrlParams方法

1.只传递一个参数url

function getUrlParams(url) {
    const params = {};
    const queryString = url.split('?')[1] || '';
    
    if (!queryString) {
        return params;
    }

    const pairs = queryString.split('&');
    return pairs.reduce((acc, pair) => {
        const [key, value] = pair.split('=');
        acc[decodeURIComponent(key)] = decodeURIComponent(value || '');
        return acc;
    }, params);
}

// 示例用法
const url = 'https://example.com/?name=JohnDoe&age=25&city=NewYork';
const params = getUrlParams(url);
console.log(params);
// 输出: { name: 'JohnDoe', age: '25', city: 'NewYork' }

2. 传递两个参数,(url,id)

function getUrlParam(url, id) {
    const queryString = url.split('?')[1] || '';
    if (!queryString) {
        return null;
    }

    const pairs = queryString.split('&');
    const params = pairs.reduce((acc, pair) => {
        const [key, value] = pair.split('=');
        acc[decodeURIComponent(key)] = decodeURIComponent(value || '');
        return acc;
    }, {});

    return params[id] || null;
}

// 示例用法
const url = 'https://example.com/?name=JohnDoe&age=25&city=NewYork';
const id = 'city';
const paramValue = getUrlParam(url, id);
console.log(paramValue); // 输出: 'NewYork'

相关推荐

  1. 实现getUrlParams方法

    2024-07-18 09:50:04       22 阅读
  2. 实现instanceof

    2024-07-18 09:50:04       20 阅读
  3. 使用递归,实现数组的 flat 方法,两种方法

    2024-07-18 09:50:04       31 阅读
  4. 实现防抖

    2024-07-18 09:50:04       27 阅读
  5. uniapp 签名实现

    2024-07-18 09:50:04       23 阅读
  6. 胶囊网络实现数字分类

    2024-07-18 09:50:04       52 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 09:50:04       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 09:50:04       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 09:50:04       62 阅读
  4. Python语言-面向对象

    2024-07-18 09:50:04       72 阅读

热门阅读

  1. Ansible 入门:从安装到实际应用

    2024-07-18 09:50:04       19 阅读
  2. 海康相机 导入包MvImport的问题

    2024-07-18 09:50:04       26 阅读
  3. 【Postman】Postman 测试工具介绍与使用

    2024-07-18 09:50:04       19 阅读
  4. 关于redis单线程却能支持高并发业务的原因

    2024-07-18 09:50:04       22 阅读
  5. 软件测试之单元测试

    2024-07-18 09:50:04       23 阅读
  6. C语言经典例题-4

    2024-07-18 09:50:04       18 阅读
  7. Python输出格式_Day4

    2024-07-18 09:50:04       22 阅读
  8. react页面指定dom转pdf导出

    2024-07-18 09:50:04       20 阅读
  9. 树莓派docker安装lnmp

    2024-07-18 09:50:04       19 阅读
  10. 人像视频预处理v1.2 优化检测、处理速度

    2024-07-18 09:50:04       22 阅读
  11. c++ extern 关键字

    2024-07-18 09:50:04       24 阅读