js url参数转对象类型(对象类型转url参数)支持中文解码编码

先上代码 后面上函数参数说明以及调用返回结果

/** @Author: 夏林* @Date:  24.6.27* @desc  时间差算法* @params params -> 传入数据 String | Object* @params  _needEncode -> 是否需要编码 默认 true*/
export function dealUrlSearchParams(_params = '', _needEncode = true) {const isUrlStr = !(_params instanceof Object);isUrlStr && _params.includes('?') && (_params = (new URL(_params)).search);const paramsVM = new URLSearchParams(_params);!_needEncode && paramsVM.forEach((v, k) => paramsVM.set(k, decodeURIComponent(v)));if (isUrlStr) return Object.fromEntries(paramsVM);return _needEncode ? String(paramsVM) : decodeURIComponent(paramsVM);
}

对象转url参数调用示范

const testItem = {name: "tom",age: 18,city: "成都"
};// 对象转url参数
dealUrlSearchParams(testItem);
// result ->  name=tom&age=18&city=%E6%88%90%E9%83%BD// 不进行中文编码
dealUrlSearchParams(testItem, false);
// result -> name=tom&age=18&city=成都

url参数转对象

const urlStr = 'https://www.baidu.com?name=tom&age=18&city=%25E6%2588%2590%25E9%2583%25BD'// url参数转对象
dealUrlSearchParams(urlStr);
// result -> { "name": "tom", "age": "18", "city": "%E6%88%90%E9%83%BD"}// 不进行中文编码
dealUrlSearchParams(urlStr, false);
// result -> { "name": "tom", "age": "18", "city": "成都"}

总有天会用到 欢迎收藏~
有帮助到大家 麻烦给博🐖点点赞~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/36118.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IND83081芯片介绍(一)

一、芯片介绍 IND83081是indiemicro推出的一款高性能的汽车矩阵LED照明控制器,集成了四个子模块,每个子模块包含三个串联的MOSFET开关,每个开关均可通过12位PWM内部信号控制,可配置的上升和下降速率及相位移以实现精确控制&#x…

JOSEF约瑟 JOXL-J拉绳开关 整定范围宽

用途 双向拉绳开关的壳体采用金属材料铸造,具有足够的机械强度,抵抗并下工作时脱落的岩石,爆块等物体的撞击不被破坏,当胶带输送机发生紧急事故时,启动拉绳开关,可立即停机报警,防止事故的扩大,保证工作现场的人身安全…

常用的通信协议有哪些

常用的通信协议有很多种,主要根据其应用领域和通信需求可以分为几类: 网络通信协议: TCP/IP:传输控制协议/互联网协议,用于互联网及局域网通信。 UDP:用户数据报协议,用于实时数据传输&#…

java 操作 milvus 2.1.4

1. 确认 docker 运行的 milvus容器镜像版本情况&#xff1a; 2. pom 依赖&#xff1a; <dependency><groupId>io.milvus</groupId><artifactId>milvus-sdk-java</artifactId><version>2.1.0</version><exclusions><exclusi…

Java学习 - Redis慢查询与发布订阅与流水线

慢查询 慢查询是什么 慢查询本质是慢查询日志&#xff0c;它记录了一些执行速度很慢的命令 慢查询与生命周期 生命周期 ------- ------------------------------------------ | | 1.发送请求 | redis服务端 …

Simulink缓存文件有什么用?

在使用Simulink进行仿真的过程中&#xff0c;经常会发现目录下存在一些后缀为.slxc的文件&#xff0c;这些其实就是Simulink模型的缓存文件&#xff08;.slx cache&#xff09;。 Simulink缓存文件的主要作用是提高仿真和代码生成的效率。 借助缓存文件&#xff0c;可以避免…

C语言 实现socket服务器客户端通信

在socket服务端&#xff0c;当接收到来自客户端的消息后&#xff0c;通常的处理流程如下&#xff1a; 连接建立&#xff1a;服务端首先监听一个预设的网络地址&#xff08;如IP和端口&#xff09;&#xff0c;等待客户端连接。接受连接&#xff1a;当客户端发起连接请求时&…

中文AI三大顶会:机器之心、量子位与新智元的比较与探讨

在人工智能领域&#xff0c;中文科技媒体扮演着举足轻重的角色&#xff0c;其中机器之心、量子位和新智元被誉为三大顶会&#xff0c;它们以各自独特的定位和特色&#xff0c;在AI领域中散发着不同的光芒。本文将对这三大媒体进行比较与探讨&#xff0c;以期为读者提供更全面的…

用Python读取Word文件并提取标题

前言 在日常工作中&#xff0c;我们经常需要处理Word文档&#xff0c;特别是从中提取关键信息&#xff0c;如标题、段落等。今天&#xff0c;我们将利用Python来实现这一功能&#xff0c;并为大家提供一段完整的代码示例。 准备工作 首先&#xff0c;你需要安装python-docx库…

Web浏览器读写NFC Ntag标签

本示例使用的发卡器&#xff1a;RS232串口USB转COM读写器IC卡发卡器WEB浏览器二次开发JS编程SDK-淘宝网 (taobao.com) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&g…

不锈钢氩弧焊丝ER316L

说明&#xff1a;TG316L 是超低碳的不锈钢焊丝。熔敷金属耐蚀、耐热、抗裂性能优良。防腐蚀性能良好。 用途:用于石油化工、化肥设备等。也可用于要求焊接后不进行热处理的高Cr钢的焊接。

真实评测:可道云teamOS文件上传功能丝滑到爱不释手

对于每日沉浸在图片与视频海洋中的媒体工作者而言&#xff0c;与海量的多媒体文件打交道几乎成了家常便饭。 文件的上传和存储&#xff0c;对他们而言&#xff0c;不仅仅是工作中的一个环节&#xff0c;更像是将一天的辛勤与付出妥善安置的仪式。无论是突发现场的精彩瞬间&am…

web学习笔记(七十一)

目录 1.vue2注册子组件 2. vue2组件传值父传子 3. vue2组件传值子传父 1.vue2注册子组件 vue2注册子组件和vue3不使用setup语法糖注册子组件是一样的&#xff0c;都需要通过components来注册子组件。 <template><div class"about"><h1>关于&l…

海报在线制作系统源码小程序

轻松设计&#xff0c;创意无限 一款基于ThinkPHPFastAdminUniApp开发的海报在线制作系统&#xff0c; 本系统不包含演示站中的素材模板资源。​ 一、引言&#xff1a;设计新纪元&#xff0c;在线海报制作引领潮流 在数字时代&#xff0c;海报已成为传播信息、展示创意的重要媒…

配音软件哪个好用?推荐5款智能配音软件

随着期末考来袭&#xff0c;校园里的空气似乎都凝固了&#xff0c;每个角落都充满了紧张的气氛。 然而&#xff0c;在这紧张的氛围中&#xff0c;有一群学生却显得格外从容&#xff0c;因为他们掌握了一种秘密武器——配音软件。这些软件就像是他们的个人学习助理&#xff0c;…

git 中有关 old mode 100644、new mode 10075的问题解决小结

问题&#xff1a; 同一个文件被修改后&#xff0c;最后代码没有变&#xff0c;文件变了&#xff0c;导致提交了一个空文件 git diff 提示 filemode 发生改变&#xff08;old mode 100644、new mode 10075&#xff09; 解决办法 &#xff1a; 原来是 filemode 的变化&#xff…

虚拟机字节码执行引擎之运行时栈帧结构

概述 执行引擎是Java虚拟机核心的组成部分之一。“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎则是由软件自行实现的,因此可以不受物理条件制约地定…

Request流只能读取一次的问题

SpringBoot 接口加密解密&#xff0c;新姿势&#xff01;_spring boot 请求加解密-CSDN博客 2.2 request流只能读取一次的问题2.2.1 问题&#xff1a; 在接口调用链中&#xff0c;request的请求流只能调用一次&#xff0c;处理之后&#xff0c;如果之后还需要用到请求流获取数…

彩虹PLM系统:引领汽车行业的数字化转型

彩虹PLM系统&#xff1a;引领汽车行业的数字化转型 彩虹PLM系统作为汽车行业数字化转型的引领者&#xff0c;凭借其卓越的技术实力和丰富的行业经验&#xff0c;为汽车行业带来了全面的解决方案。以下是彩虹PLM系统如何引领汽车行业数字化转型的详细分析&#xff1a; 一、整合全…

约课健身管理系统小程序源码

健身达人的智能助手 一款基于FastAdminThinkPHPUniapp开发的米扬约课健身管理系统&#xff0c;应用于健身房&#xff0c;健身工作室&#xff0c;运动会所&#xff0c;运动场馆&#xff0c;瑜伽馆&#xff0c;拳馆等泛健身行业的场馆中。米扬约课健身致力于为各种健身场馆打造真…