js实现字符串转化为对象(两种方式)

 时间:2024-11-05 03:46:57

javascript开发过程中,经常会遇到字符串转化为对象的操作。比如url传参时"name=jack&age=20&love=lily"转化为对象。可以用两种方法转化,简单的for循环转化,或者利用正则表达式转化。测试直接使用浏览器控制台。

工具/原料

文本编辑器,浏览器

for循环方式转化

1、//for循环方式/*** [parseStrObjByFor 字符串转化为对象(for循环方式)]* @param {[type]} strDes [字符串]* @param {[type]} delimiter [分隔符]*/function parseStrObjByFor(strDes, delimiter){ var obj = {}; if(strDes == null || strDes == ''){ return obj; } delimiter = delimiter || ";"; var arr = strDes.split(delimiter); var k, v, sub; for (var i = 0, len = arr.length; i < len; i++) { if(arr[i] !== ''){ sub = arr[i].split("="); k = sub[0]; v = sub[1]; if (k !== '') { obj[k] = v; } } } return obj;}var obj = parseStrObjByFor("name=jack&age=20&love=lily","&");

js实现字符串转化为对象(两种方式)

2、谷歌浏览器控制台运行代码,并查看结果。

js实现字符串转化为对象(两种方式)

正则表达式实现

1、/*** [parseStrObjByRegExp 字符串转化为对象(正则表达式方式)]* @param {[type]} strDes [字符串]*/function parseStrObjByRegExp(strDes){ var obj = {}; strDes.replace(/(\w+)(?:=([^;]*))?/g,function(str, key, value){ obj[key] = value; }); return obj;}var obj = parseStrObjByRegExp("name=jack;age=20;love=lily");

js实现字符串转化为对象(两种方式)

2、谷歌浏览器控制台运行代码,并查看结果。

js实现字符串转化为对象(两种方式)

3、利用正则表达式方式实现,代码量尤其简单。

  • VERICUT-9.0.1多头螺纹不支持Q值的设置方法
  • Adobe Acrobat DC将双页裁切为单页
  • PS如何使用加深减淡工具调整图像的明暗度?
  • win11如何打开添加硬件向导
  • 怎么升级macos10.15
  • 热门搜索
    五一旅游攻略 周边旅游 上海旅游高等专科学校 泰国旅游 6月份适合去哪里旅游 拉萨旅游 赣州旅游 长沙旅游攻略 保定旅游 旅游服务