获取地址栏URL参数, URL转对象

// url参数转对象
function urlParse(url = location.href) {
    return decodeURIComponent(url)
        ?.match?.(/(?![?&])[^=&#?]+=[^?&#]*(?=[?&#]?)/g)
        ?.map?.((v) => v.split('='))
        ?.reduce?.((t, v) => (t[v[0]] = v[1]) | 1 && t, {})
}

// url参数转对象
export function urlParse(url = location.href) {
  return decodeURIComponent(url)
    ?.match(/(?![?&])[^=&#?]+=[^?&#]*(?=[?&#]?)/g)
    ?.map((v) => v.split('='))
    ?.reduce((t, v) => ({ ...t, [v[0]]: v[1] }), {});
}

// 对象转url参数
function urlString(params = {}, encode = encodeURI) {
  return encode(
    Object.entries(params)
      .reduce((t, v) => (t += "&" + v.join("=")), "")
      .replace(/^&/, "")
  );
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容