convert URL Query String to Object All In One

URL / query string / paramas

query string to object

let str = "name=xgqfrms&sex=男&age=18&";

const params = new URLSearchParams(str);

for (let p of params) {
console.log(p);
} ["name", "xgqfrms"]
["sex", "男"]
["age", "18"]

filter

let str = "name=xgqfrms&sex=男&age=18&";

str = str.split(`&`).filter(item => item.length).join(`&`);
// "name=xgqfrms&sex=男&age=18" str.split(`&`).filter(item => item.length).reduce((acc, item) => {
const [key, value] = [...item.split(`=`)];
acc[key] = value;
}, {})

reduce

let str = "name=xgqfrms&sex=男&age=18&";

str = str.split(`&`).reduce((acc, item) => acc += item.length ? item : "", "");
// "name=xgqfrmssex=男age=18"

demo

"use strict";

/**
*
* @author xgqfrms
* @license MIT
* @copyright xgqfrms
* @created 2020-10-01
* @modified
*
* @description string to object
* @difficulty Easy Medium Hard
* @complexity O(n)
* @augments
* @example
* @link
* @solutions
*
* @best_solutions
*
*/ const log = console.log; const str = "name=xgqfrms&sex=男&age=18&"; const obj = str.split(`&`).filter(item => item.length).reduce((acc, item) => {
const [key, value] = [...item.split(`=`)];
acc[key] = value;
return acc;
}, {}) log(`obj =`, obj);
// obj = { name: 'xgqfrms', sex: '男', age: '18' }

refs

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

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array



xgqfrms 2012-2020

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


最新文章

  1. Office 365 系列二 ------- 如何批量部署Office 客户端
  2. 框架SpringMVC笔记系列 一 基础
  3. [转]Hibernate查询对象所有字段,单个字段 ,几个字段取值的问题
  4. 获取oracle 表字段,表名,以及主键之类等等的信息。
  5. Hibernate二进制或大文件类型数据和Oracle交互
  6. 寒假学习unity的第一天
  7. HLS协议实现
  8. nova-network
  9. html5 Canvas处理图像 实例讲解
  10. linux_ Redhat Linux配置JDK和Tomcat需要注意的地方
  11. python对mysql数据库操作的三种不同方式
  12. 文件锁FileLock
  13. SharePoint 门户网站的图片轮播-页面定制
  14. 第二卷 Spring羊群理论
  15. loadrunner出现中文乱码
  16. JPA + SpringData 操作数据库--Helloworld实例
  17. 最接近原点的K个点
  18. js模板引擎art-Template(以前的artTemplate)
  19. java实现的加密解密
  20. day 26 初识进程,验证客户端合法性

热门文章

  1. 前端面试之JavaScript中数组的方法!【残缺版!!】
  2. django 请求处理流程 链路追踪
  3. WPF Selector、SelectIndex、SelectedValue、SelectedValuePath、SelectedItem这几兄弟你分的清楚嘛?
  4. Python学习【第9篇】:python中的局部变量与全局变量
  5. Oracle数据库查询锁表及解锁
  6. Java基础图解,JVM,线程,Spring,TCP,SpringMVC等开发体系图解
  7. Hadoop优势,组成的相关架构,大数据生态体系下的模式
  8. Django(命名空间)
  9. spark SQL (四)数据源 Data Source----Parquet 文件的读取与加载
  10. 换一种视角看DNS(采坑篇)