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

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

for循环方式转化

  • 01

    //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","&");

  • 02

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

正则表达式实现

  • 01

    /** * [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");

  • 02

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

  • 03

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

(0)

相关推荐

  • js调用函数的两种方式

    js调用函数的两种方式 操作方法 01 新建HTML文件 02 创建按钮和输出位置 03 创建点击事件输出时间 04 预览效果如图 05 点击按钮显示时间 06 创建按钮和输出位置 07 创建函数 0 ...

  • Java中解析xml报文的两种方式

    前两天在做Java项目的时候碰到了请求webservice返回xml报文这种情况,解决了很久,记录两种方式以便后来人少走几条弯路!当然,如果是大神的话欢迎斧正. 方法/步骤-XMLSerializer ...

  • win7系统安装打印机(光盘安装/网络下载)两种方式图文教程

    打印机作为目前企业办公必用设备,很多上班族都会接触点,对于不少小白朋友来说,可能觉得打印机安装很复杂,其实不然。打印机安装其实和安装其他一些电脑外设一样,只要熟悉都可以轻松入手,菜鸟朋友只要了解步骤, ...

  • win7下修改环境变量PATH的两种方式

    设置环境变量有两种方式:第一种是在命令提示符运行窗口中设置;第二种是通过单击“我的电脑→属性→高级”标签的“环境变量”按钮设置。需要注意的是,第一种设置环境变量的方式只对当前运行窗口有效,关闭运行窗口 ...

  • 查找IE缓存文件夹地址的两种方式

    要找到IE缓存文件夹在哪,可以通过两种方式: 一、如果系统安装在C盘的话,IE缓存文件夹是C:Documents and Settings当前登录用户名Local SettingsTemporary ...

  • 重装windows7系统后两种方式将程序软件恢复到开始菜单

    注意:此方法只适合将程序放在开始菜单,便于应用,启动,并不会写入系统注册表神马的,升级、卸载什么的都需手动,360软件管家什么的是检测不出来你安装了这个软件的。 前提:重装系统只格式化C盘,并且应用软 ...

  • 用excel高级筛选中选择不重复记录两种方式的差异图解

    excel中高级筛选中选择不重复记录两种方式的差异 高级筛选分为两种方式 在原有区域显示筛选结果 将筛选结果复制到其他位置 在原有区域显示筛选结果被筛选掉的行只是被隐藏了 第二种方式 将筛选结果复制到 ...

  • SpringMVC注解版前台向后台传值的两种方式介绍

    一.概述. 在很多企业的开法中常常用到SpringMVC+Spring+Hibernate(mybatis)这样的架构,SpringMVC相当于Struts是页面到Contorller直接的交互的框架 ...

  • ubuntu系统怎么更新? ubuntu升级系统的两种方式

    用ubuntu那么久有点问题总想着能不能更新下解决,那么ubuntu怎么做系统更新呢?我们通常使用这两种方式. 1.首先我们ctrl+alt+t打开终端. 2.更新ubuntu系统的apt资源. $s ...