javascript
  • typescript
  • 2017-02-22 46 views -1 likes 
    -1

    我需要遍歷此Json數據並在JavaScript中添加值(TypeScript)No Jquery。在JavaScript/TypeScript中迭代Json數據

    {"GridHeader":{"Id":"Id","Name":"Full Name","Age":"Age"},"GridData":{"Id":3,"name":"Vu","age":34}} 
    

    我添加的功能如下里面添加標題和數據網格:

    let header = '{"GridHeader":{"Id":"Id","Name":"Full Name","Age":"Age"},"GridData":{"Id":3,"name":"Vu","age":34}}'; 
    let myheader = JSON.parse(header); 
    
    
    for (var i = 0; ??) { 
        .... 
    
        AddRecord(headerdata, i); 
    } 
    

    這是我將它添加到網格:

    function AddRecord(record, n) { 
    var detail = document.getElementById("detail"); 
    var header = document.getElementById("header"); 
    
    if (n == 0) { 
        var newdiv = document.createElement("div"); 
        newdiv.innerHTML = "<div style=''>" + record.id + "</div>" + "<div>" + record.name + "</div>" + "<div>" + record.age + "</div>"; 
    } 
    
    var newdiv = document.createElement("div"); 
    newdiv.innerHTML = "<div style=''>" + record.id + "</div>" + "<div>" + record.name + "</div>" + "<div>" + record.age + "</div>"; 
    detail.appendChild(newdiv); 
    

    }

    回答

    0

    您將不得不更詳細地解釋「迭代數據」的含義。

    { 
        "GridHeader":{ 
         "Id":"Id", 
         "Name":"Full Name", 
         "Age":"Age" 
        }, 
        "GridData":{ 
         "Id":3, 
         "name":"Vu", 
         "age":34 
        } 
    } 
    

    沒有任何數組在其中。

    如果它確實有它的數組,然後我會假設你的意思是這樣的:

    "mydata":{ 
        "GridHeader":{ 
         "Id":"Id", 
         "Name":"Full Name", 
         "Age":"Age" 
        }, 
        "GridData":[ 
         { 
          "Id":3, 
          "name":"Vu", 
          "age":34 
         }, 
         { 
          "Id":2, 
          "name":"Vu2", 
          "age":33 
         }, 
         { 
          "Id":1, 
          "name":"Vu1", 
          "age":32 
         } 
        ] 
    } 
    

    如果您的數據看起來像,那麼你有對象的數組中的網格數據,你會然後可以使用這樣的事情:

    mydata.GridData.forEach(item){ 
        // DO something with 
        // item.Id 
        // item.Name 
        // item.Age 
    } 
    

    在循環您的代碼就會在你父母的的GridData一部分的每個對象調用一次,並允許您訪問到每個3個屬性爲每個單獨的項目。

    但是,以它的方式來看待您的數據,那麼它只是一個簡單的對象。

    如果我們想象你擁有了它在一個名爲myData的變量,那麼你就可以訪問它的部分如下:

    myData.GridHeader.Id 
    myData.GridHeader.Name 
    myData.GridHeader.Age 
    

    要獲得頭屬性。

    myData.GridData.Id 
    myData.GridData.Name 
    myData.GridData.Age 
    

    爲了獲得您存在的唯一非可迭代對象的屬性。

    +0

    mydata.GridData.forEach(item)中的項是什麼,數據就像你有豪宅。 – Alma

    +0

    這是您迭代的當前對象。您可以使用它作爲您的網關來訪問循環中的當前元素,就像我的示例清楚地顯示的那樣。 – shawty

    1

    是的,你的數據實際上是一個JavaScript對象如下:

    var header = { 
        "GridHeader":{"Id":"Id","Name":"Full Name","Age":"Age"}, 
        "GridData": {"Id":3,"name":"Vu","age":34} 
        }; 
    

    ,您可以遍歷它象下面這樣:

    for (var prop in header) { 
         console.log("Key:" + prop); 
         console.log("Value:" + header[prop]); 
        } 
    

    請根據您的需求做出來。我給你一個線索來重複它。謝謝。

    相關問題