欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript將數(shù)組轉(zhuǎn)為對(duì)象與JSON對(duì)象字符串轉(zhuǎn)數(shù)組方法詳解

 更新時(shí)間:2022年11月14日 22:42:00   投稿:wdc  
這篇文章主要介紹了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)鏈接

相關(guān)文章

  • Javascript基礎(chǔ)知識(shí)(一)核心基礎(chǔ)語(yǔ)法與事件模型

    Javascript基礎(chǔ)知識(shí)(一)核心基礎(chǔ)語(yǔ)法與事件模型

    這篇文章主要介紹了Javascript用途及語(yǔ)法,傳統(tǒng)事件及現(xiàn)代事件,是最近這段時(shí)間個(gè)人學(xué)習(xí)javascript的一些心得,分享給大家,有需要的朋友可以參考下
    2014-09-09
  • Javascript中的五種數(shù)據(jù)類(lèi)型詳解

    Javascript中的五種數(shù)據(jù)類(lèi)型詳解

    這篇文章主要介紹了Javascript中的五種數(shù)據(jù)類(lèi)型詳解,需要的朋友可以參考下
    2014-12-12
  • ES6基礎(chǔ)語(yǔ)法之字符串?dāng)U展

    ES6基礎(chǔ)語(yǔ)法之字符串?dāng)U展

    這篇文章介紹了ES6基礎(chǔ)語(yǔ)法之字符串?dāng)U展,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • De facto standard 世界上不可思議的事實(shí)標(biāo)準(zhǔn)

    De 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-08
  • JS 全屏和退出全屏詳解及實(shí)例代碼

    JS 全屏和退出全屏詳解及實(shí)例代碼

    退出全屏效果與全屏效果我們可能在看視頻網(wǎng)站時(shí)看到多,這里來(lái)為各位介紹利用js全屏和退出全屏代碼范例吧,,需要的朋友可以參考下
    2016-11-11
  • 淺談javascript錯(cuò)誤處理

    淺談javascript錯(cuò)誤處理

    本文主要從前端開(kāi)發(fā)者的角度談一談大多數(shù)前端開(kāi)發(fā)者都會(huì)遇到的js錯(cuò)誤,對(duì)錯(cuò)誤產(chǎn)生的原因、發(fā)生階段,以及如何應(yīng)對(duì)錯(cuò)誤進(jìn)行分析、歸納和總結(jié),希望得到一些有益的結(jié)論用來(lái)指導(dǎo)日常開(kāi)發(fā)工作。
    2019-08-08
  • JavaScript中Function()函數(shù)的使用教程

    JavaScript中Function()函數(shù)的使用教程

    這篇文章主要介紹了JavaScipt中Function()函數(shù)的使用教程,是JavaScipt入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-06-06
  • JavaScript中Date.toSource()方法的使用教程

    JavaScript中Date.toSource()方法的使用教程

    這篇文章主要介紹了JavaScript中Date.toSource()方法的使用教程,用來(lái)返回日期為字符串,是JS入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-06-06
  • js 延遲加載 改變JS的位置加快網(wǎng)頁(yè)加載速度

    js 延遲加載 改變JS的位置加快網(wǎng)頁(yè)加載速度

    當(dāng)一個(gè)網(wǎng)站有很多js代碼要加載,js代碼放置的位置在一定程度上將會(huì)影像網(wǎng)頁(yè)的加載速度,為了提高加載速度,本文總結(jié)了一下幾個(gè)注意點(diǎn)
    2012-12-12
  • ES6新增關(guān)鍵字let和const介紹

    ES6新增關(guān)鍵字let和const介紹

    這篇文章介紹了ES6新增的關(guān)鍵字let和const,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03

最新評(píng)論