2017-02-22 12 views
-1

このJson Dataで繰り返し、JavaScript(TypeScript)のグリッドに値を追加する必要はありません。JavaScript/TypeScriptでJsonデータを反復する

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); 

}

グリッドにヘッダとデータを追加した、次のように

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

は、私が追加機能を持っています

答えて

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 
     } 
    ] 
} 

あなたのデータはそのように見える場合は、あなたのグリッドデータにオブジェクトの配列を持っていますあなたのコードは、あなたの親のGridData部分内の各オブジェクトに1回呼び出されますループ内で

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

とあなたが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]); 
    } 

、ニーズに応じて、それをしてください。私はあなたにそれを反復する手がかりを与えている。ありがとう。