te')); return $arr; } /* 遍历用户所有主题 * @param $uid 用户ID * @param int $page 页数 * @param int $pagesize 每页记录条数 * @param bool $desc 排序方式 TRUE降序 FALSE升序 * @param string $key 返回的数组用那一列的值作为 key * @param array $col 查询哪些列 */ function thread_tid_find_by_uid($uid, $page = 1, $pagesize = 1000, $desc = TRUE, $key = 'tid', $col = array()) { if (empty($uid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('uid' => $uid), array('tid' => $orderby), $page, $pagesize, $key, $col); return $arr; } // 遍历栏目下tid 支持数组 $fid = array(1,2,3) function thread_tid_find_by_fid($fid, $page = 1, $pagesize = 1000, $desc = TRUE) { if (empty($fid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('fid' => $fid), array('tid' => $orderby), $page, $pagesize, 'tid', array('tid', 'verify_date')); return $arr; } function thread_tid_delete($tid) { if (empty($tid)) return FALSE; $r = thread_tid__delete(array('tid' => $tid)); return $r; } function thread_tid_count() { $n = thread_tid__count(); return $n; } // 统计用户主题数 大数量下严谨使用非主键统计 function thread_uid_count($uid) { $n = thread_tid__count(array('uid' => $uid)); return $n; } // 统计栏目主题数 大数量下严谨使用非主键统计 function thread_fid_count($fid) { $n = thread_tid__count(array('fid' => $fid)); return $n; } ?>Iterate Json Data in JavaScriptTypeScript - Stack Overflow
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Iterate Json Data in JavaScriptTypeScript - Stack Overflow

programmeradmin3浏览0评论

I need to Iterate on this Json Data and add value to the Grid in JavaScript(TypeScript) No Jquery.

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

I have the Add function as follows which add header and Data to the Grid:

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

This is where I am adding it to the Grid:

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

}

I need to Iterate on this Json Data and add value to the Grid in JavaScript(TypeScript) No Jquery.

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

I have the Add function as follows which add header and Data to the Grid:

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

This is where I am adding it to the Grid:

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

}

Share Improve this question asked Feb 22, 2017 at 19:13 AlmaAlma 4,40013 gold badges46 silver badges87 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 10

Yes, your data is actually a javascript object below:

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

And you can loop through it like below:

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

Please, make it according to your needs. I have give you a clue to iterate it. Thanks.

Your going to have to explain in more detail what you mean by "iterate on the data".

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

Does not have any Arrays present in it.

If it did have arrays in it, then I'm going to assume you meant something like this:

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

If your data looks like that, then you have an array of objects in your grid data, and you would then be able to use something like this:

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

Within the loop your code will get called once for each object in the GridData part of your parent and allow you access to each of the 3 properties for each individual item.

However, looking at your data the way it is, then it's just a simple object.

If we imagine you have it in a variable called myData, then you can access it's parts as follows:

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

To get the header properties.

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

To get at the properties of the one and only non iterable object you have present.

发布评论

评论列表(0)

  1. 暂无评论