JavaScript將數(shù)組轉(zhuǎn)為對(duì)象與JSON對(duì)象字符串轉(zhuǎn)數(shù)組方法詳解
JavaScript將數(shù)組轉(zhuǎn)為對(duì)象(JS數(shù)組轉(zhuǎn)對(duì)象工作經(jīng)常用)
我想獲取一個(gè)元素?cái)?shù)組,并將它們轉(zhuǎn)換為一個(gè)對(duì)象。數(shù)組中的元素需要是對(duì)象的鍵,帶有一些默認(rèn)的空字符串,作為以后要更改的值。
['name','age','city', 'town', 'country'] { name: "", age: "", city: "", town: "", country: "" }
最后我發(fā)現(xiàn)我們可以使用數(shù)組的reduce方法。
我們可以創(chuàng)建一個(gè)空對(duì)象,傳遞數(shù)組項(xiàng)并使用它們動(dòng)態(tài)創(chuàng)建對(duì)象鍵。
const userChoices = ['name','age','city', 'town', 'country']; const result = userChoices.reduce((acc, curr) => { acc[curr] = "" return acc }, {}) result.name = "calvin" console.log(result)
空對(duì)象用作累加器,該累加器被傳遞回函數(shù)并填充數(shù)組中的下一項(xiàng)。
acc是我們?cè)噲D填充并返回的東西,而curr是我們正在迭代的數(shù)據(jù)中處理的當(dāng)前項(xiàng)。
js中JSON對(duì)象字符串轉(zhuǎn)數(shù)組
給定一個(gè)JSON字符串,任務(wù)是將JSON字符串轉(zhuǎn)換為JSON對(duì)象數(shù)組。
這個(gè)數(shù)組包含在JavaScript的幫助下從JSON字符串中獲得的JavaScript對(duì)象的值。解決這一問(wèn)題的方法有兩種:
方法一
首先使用JSON. parse()方法將JSON字符串轉(zhuǎn)換為JavaScript對(duì)象,然后使用push()方法取出對(duì)象的值并將它們推入數(shù)組。
<!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字符串轉(zhuǎn)換為JavaScript對(duì)象,然后取出對(duì)象的值并使用push()方法將它們推到數(shù)組中。
<!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>
更多關(guān)于JavaScript數(shù)組轉(zhuǎn)對(duì)象、JSON對(duì)象字符串轉(zhuǎn)數(shù)組方法請(qǐng)查看下面的相關(guān)鏈接
- Mysql如何獲取json字符串/數(shù)組的值
- JavaScript中判斷某個(gè)字符串、數(shù)組等是否包含某個(gè)值的五種方法
- JS字符串轉(zhuǎn)換為數(shù)組的4 個(gè)方法示例小結(jié)
- 將JSON字符串?dāng)?shù)組轉(zhuǎn)對(duì)象集合方法步驟
- 利用js判斷數(shù)據(jù)是否是數(shù)組或字符串的常見(jiàn)方法
- JavaScript實(shí)現(xiàn)字符串轉(zhuǎn)數(shù)組的6種方法總結(jié)
- 如何將JSON字符串?dāng)?shù)組轉(zhuǎn)對(duì)象集合
- JS數(shù)組轉(zhuǎn)字符串實(shí)現(xiàn)方法解析
- JS字符串和數(shù)組如何實(shí)現(xiàn)相互轉(zhuǎn)化
- JavaScript 中字符串和數(shù)組的概念解析與多角度對(duì)比區(qū)分
相關(guān)文章
Javascript基礎(chǔ)知識(shí)(一)核心基礎(chǔ)語(yǔ)法與事件模型
這篇文章主要介紹了Javascript用途及語(yǔ)法,傳統(tǒng)事件及現(xiàn)代事件,是最近這段時(shí)間個(gè)人學(xué)習(xí)javascript的一些心得,分享給大家,有需要的朋友可以參考下2014-09-09Javascript中的五種數(shù)據(jù)類(lèi)型詳解
這篇文章主要介紹了Javascript中的五種數(shù)據(jù)類(lèi)型詳解,需要的朋友可以參考下2014-12-12De facto standard 世界上不可思議的事實(shí)標(biāo)準(zhǔn)
前些天IEBlog中提到實(shí)現(xiàn)互通并不是只靠標(biāo)準(zhǔn)就行,其中舉出了一些關(guān)于事實(shí)上的標(biāo)準(zhǔn)的考慮——所謂“事實(shí)上的標(biāo)準(zhǔn)”,也就是并非標(biāo)準(zhǔn),但大家都遵循著它去做事情的那么一種東西。2010-08-08JavaScript中Function()函數(shù)的使用教程
這篇文章主要介紹了JavaScipt中Function()函數(shù)的使用教程,是JavaScipt入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-06-06JavaScript中Date.toSource()方法的使用教程
這篇文章主要介紹了JavaScript中Date.toSource()方法的使用教程,用來(lái)返回日期為字符串,是JS入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-06-06js 延遲加載 改變JS的位置加快網(wǎng)頁(yè)加載速度
當(dāng)一個(gè)網(wǎng)站有很多js代碼要加載,js代碼放置的位置在一定程度上將會(huì)影像網(wǎng)頁(yè)的加載速度,為了提高加載速度,本文總結(jié)了一下幾個(gè)注意點(diǎn)2012-12-12