【面试题】实现 queryParse 函数,完成解析 URL 参数的功能

问题:实现 queryParse 函数,完成解析 URL 参数的功能

/**
  * 问题:实现 queryParse 函数,完成解析 URL 参数的功能
  *
  * 用法:
  * ```js
  * const href = 'https://a.b.c?name=abc&age=24&code=%E6%B5%8B%E8%AF%95#main';
  * const params = queryParse(href);
  * console.log(params); // {name: 'abc', age: 24, ...等 }
  * ```
  * @param url
  * @returns object
  */

参考答案:

function queryParse(url) {
  // 获取查询参数并转换成 URLSearchParams 对象
  const searchParams = new URLSearchParams(new URL(url).search);
  // 准备普通空对象
  const params = {}
  // 遍历 URLSearchParams 对象
  for (const [key, value] of searchParams) {
    // 键值对存储
    params[key] = value
  }
  // 返回结果
  return params
}

const href = 'https://a.b.c?name=abc&age=24&code=%E6%B5%8B%E8%AF%95#main';
const params = queryParse(href);
console.log(params); // {name: 'abc', age: 24, ...等 }
posted @   MegaSu  阅读(190)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2022-02-07 Vue3 值得注意的新特性
2022-02-07 记录一个用于检查设备的库
点击右上角即可分享
微信分享提示