JavaScript将数组转为对象与JSON对象字符串转数组方法详解
(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun)
JavaScript将数组转为对象(JS数组转对象工作经常用)
我想获取一个元素数组,并将它们转换为一个对象。数组中的元素需要是对象的键,带有一些默认的空字符串,作为以后要更改的值。
['name','age','city', 'town', 'country'] { name: "", age: "", city: "", town: "", country: "" }
最后我发现我们可以使用数组的reduce方法。
我们可以创建一个空对象,传递数组项并使用它们动态创建对象键。
const userChoices = ['name','age','city', 'town', 'country']; const result = userChoices.reduce((acc, curr) => { acc[curr] = "" return acc }, {}) result.name = "calvin" console.log(result)
空对象用作累加器,该累加器被传递回函数并填充数组中的下一项。
acc是我们试图填充并返回的东西,而curr是我们正在迭代的数据中处理的当前项。
js中JSON对象字符串转数组
给定一个JSON字符串,任务是将JSON字符串转换为JSON对象数组。
这个数组包含在JavaScript的帮助下从JSON字符串中获得的JavaScript对象的值。解决这一问题的方法有两种:
方法一
首先使用JSON. parse()方法将JSON字符串转换为JavaScript对象,然后使用push()方法取出对象的值并将它们推入数组。
<!DOCTYPE HTML> <html> <head> <title> How to convert JSON string to array of JSON objects using JavaScript? </title> </head> <body style = "text-align:center;"> <h1 style = "color:green;" > GeeksForGeeks </h1> <p id = "GFG_UP"></p> <button onclick = "myGFG()"> Click Here </button> <p id = "GFG_DOWN"></p> <script> var up = document.getElementById("GFG_UP"); var JS_Obj = '{"prop_1":"val_1", "prop_2":"val_2", "prop_3" : "val_3"}'; up.innerHTML = "JSON string - '" + JS_Obj + "'"; var down = document.getElementById("GFG_DOWN"); function myGFG() { var obj = JSON.parse(JS_Obj); var res = []; for(var i in obj) res.push(obj[i]); down.innerHTML = "Array of values - [" + res + "]"; } </script> </body> </html>
方法二
此方法也是相似的,只是使用不同的方法。使用eval()方法将JSON字符串转换为JavaScript对象,然后取出对象的值并使用push()方法将它们推到数组中。
<!DOCTYPE HTML> <html> <head> <title> How to convert JSON string to array of JSON objects using JavaScript? </title> </head> <body style = "text-align:center;"> <h1 style = "color:green;" > GeeksForGeeks </h1> <p id = "GFG_UP"></p> <button onclick = "myGFG()"> Click Here </button> <p id = "GFG_DOWN"></p> <script> var up = document.getElementById("GFG_UP"); var JS_Obj = '{"prop_1":"val_1", "prop_2":"val_2", "prop_3" : "val_3"}'; up.innerHTML = "JSON string - '" + JS_Obj + "'"; var down = document.getElementById("GFG_DOWN"); function myGFG() { var obj = eval('(' + JS_Obj + ')'); var res = []; for(var i in obj) res.push(obj[i]); down.innerHTML = "Array of values - [" + res + "]"; } </script> </body> </html>
更多关于JavaScript数组转对象、JSON对象字符串转数组方法请查看下面的相关链接
相关文章
javascript 基础篇3 类,回调函数,内置对象,事件处理
在js中自定义一个类跟java c++就有比较大的区别了,因为这个格式用公式表达起来比较困难,大体说一下吧2012-03-03JavaScript Break 和 Continue区别教程
JavaScript Break 和 Continue区别教程...2007-04-04javascript setTimeout和setInterval 的区别
window对象有两个主要的定时方法,分别是setTimeout 和 setInteval 他们的语法基本上相同,但是完成的功能取有区别。2009-12-12
最新评论