美文网首页
JS之字符串与对象之间的转换

JS之字符串与对象之间的转换

作者: 鲁女女 | 来源:发表于2019-12-23 19:53 被阅读0次

对象转字符串

题目是 :

提供一个用户的数据:{username:"xiaowang",password:"12345",sex:"nv",age:19,on:"yes"}
提供一个网址:http://www.baidu.com
把数据以查询字符串的格式,拼接到网址后,得到的结果是:
http://www.baidu.com? username=xiaowang&password=12345&sex=nv&age=19&on=yes

// ------------------方法1
var url = "http://www.baidu.com";
var userData = {username:"xiaowang",password:"12345",sex:"nv",age:19,on:"yes"};
var str = "";
for ( var i in userData ){
    str += (i + "=" + userData[i] + "&");
}
var newstr = str.substring(0,str.length-1); //这里是截取字符串,主要目的在于去除最后的&符号
var finallyStr = url + "?" + newstr;
console.log(finallyStr);



//------------------方法2
var url = "http://www.baidu.com";
var userData = {username:"xiaowang",password:"12345",sex:"nv",age:19,on:"yes"};
var str = "";
// 第一个目标:["username=xiaowang", "password=12345", "sex=nv", "age=19", "on=yes"]
var arr = [];
for ( var i in userData ){
    arr.push(i + "=" + userData[i]);
}
console.log(arr);
//把数组的间隔以&形式隔开
var newStr = arr.join("&");
console.log(newStr);
var finallyStr = url + "?" + newStr;
console.log(finallyStr);

字符串转对象

题目是:

提供一个网址:http://www.baidu.com?username=xiaowang&password=12345&sex=nv&age=19&on=yes
将网址的查询内容获取到,并用对象展示出来:
{username:"xiaowang",password:"12345",sex:"nv",age:19,on:"yes"}

var str = "http://www.baidu.com?username=xiaowang&password=12345&sex=nv&age=19&on=yes";
var finallyObj = {};

//1.截取到查询的内容(?以后的内容)
var strArr = str.split("?");
console.log(strArr);//["http://www.baidu.com", "username=xiaowang&password=12345&sex=nv&age=19&on=yes"]
var strSearch = strArr[1];//username=xiaowang&password=12345&sex=nv&age=19&on=yes;

//拿到查询结果,再次以&符号分割成一个数组,每一个键值对就是数组的其中一个值
var str2Arr = strSearch.split("&");
console.log(str2Arr);// ["username=xiaowang", "password=12345", "sex=nv", "age=19", "on=yes"]

//遍历新得到的数组,然后把每一个值的键值对放在对象中
str2Arr.forEach(function (item) {
    var newArr = item.split("=");
    finallyObj[newArr[0]] = newArr[1];
})
console.log(finallyObj);

//-----------------------以上可简写为以下方式
var str = "http://www.baidu.com?username=xiaowang&password=12345&sex=nv&age=19&on=yes";
var finallyObj = {};
str.split("?")[1].split("&").forEach(function (item) {
    finallyObj[item.split("=")[0]] = item.split("=")[1]
});
console.log(finallyObj);

相关文章

  • json对象与字符串、数组之间的转换

    json对象与字符串、数组之间的转换 JS中: json格式字符串转json对象(strJSON代表json字符串...

  • JS注意事项

    JS/JSON js对象转换字符串:JSON.stringify(要转换的对象)json字符串转换成js对象:JS...

  • 数组检测

    检测是否是数组: 数组转字符串: 字符串转换数组: js对象转换成js字符串: js字符串转换成js对象:

  • js/json

    js对象转换字符串:JSON.stringify(要转换的对象)json字符串转换成js对象:JSON.parse...

  • js/json

    js对象转换字符串:JSON.stringify(要转换的对象) json字符串转换成js对象:JSON.pars...

  • js以及json

    js对象转换字符串:JSON.stringify(要转换的对象)json字符串转换成js对象:JSON.parse...

  • js/json

    js对象转换字符串:JSON.stringify(要转换的对象)json字符串转换成js对象:JSON.parse...

  • js/json

    js对象转换字符串:JSON.stringify(要转换的对象)json字符串转换成js对象:JSON.parse...

  • js/json

    js对象转换字符串:JSON.stringify(要转换的对象) json字符串转换成js对象:JSON.pars...

  • JS之字符串与对象之间的转换

    对象转字符串 题目是 : 提供一个用户的数据:{username:"xiaowang",password:"123...

网友评论

      本文标题:JS之字符串与对象之间的转换

      本文链接:https://www.haomeiwen.com/subject/nsdtoctx.html