Jquery 如何循环遍历整个JSON并获取所有EMPID?
我有一个JSON,如下所示Jquery 如何循环遍历整个JSON并获取所有EMPID?,jquery,json,Jquery,Json,我有一个JSON,如下所示 { "name": "Employee Fields", "id": "Employee", "rows": [ { "data": [ { "emp": "111", "label": "Name", "disabled": false }, { "emp": "112", "label"
{
"name": "Employee Fields",
"id": "Employee",
"rows": [
{
"data": [
{
"emp": "111",
"label": "Name",
"disabled": false
},
{
"emp": "112",
"label": "Name",
"disabled": false
}
]
},
{
"data": [
{
"emp": "113",
"label": "Name",
"disabled": false
},
{
"emp": "114",
"label": "Name",
"disabled": false
}
]
},
{
"data": [
{
"emp": "115",
"label": "Name",
"disabled": false
},
{
"emp": "116",
"label": "Name",
"disabled": false
}
]
}
]
}
我怎么能在所有的EMPID之间循环
变量foo={
名称:员工字段,
id:雇员,
行:[
{
数据:[
{
emp:111,
标签:名称,
禁用:false
},
{
emp:112,
标签:名称,
禁用:false
}
]
},
{
数据:[
{
环境管理计划:113,
标签:名称,
禁用:false
},
{
emp:114,
标签:名称,
禁用:false
}
]
},
{
数据:[
{
emp:115,
标签:名称,
禁用:false
},
{
emp:116,
标签:名称,
禁用:false
}
]
}
]
}
foo.rows.forEachrow=>{
row.data.foreach=>{
console.loge.emp
}
} 你可以使用map和concat
var数据={name:Employee字段,id:Employee,行:[{data:[{emp:111,label:name,disabled:false},{emp:112,label:name,disabled:false}},{data:[{emp:113,label:name,disabled:false},{emp:114,label:name,disabled:false}},{data:[{emp:115,label:name,disabled:false},{emp:116,label:name,disabled:false}}]
让result=[].concat.apply[],data.rows.map{data}=>data.map{emp}=>emp
控制台。日志结果
$document.readyfunction{
变量字段=
{
名称:员工字段,
id:雇员,
行:[
{
数据:[
{
emp:111,
标签:名称,
禁用:false
},
{
emp:112,
标签:名称,
禁用:false
}
]
},
{
数据:[
{
环境管理计划:113,
标签:名称,
禁用:false
},
{
emp:114,
标签:名称,
禁用:false
}
]
},
{
数据:[
{
emp:115,
标签:名称,
禁用:false
},
{
emp:116,
标签:名称,
禁用:false
}
]
}
]
};
$.eachfields.rows,functionindex,row{
$.eachrow.data,函数索引,emp{
console.logLabel:,emp.label;
console.logDisabled:,emp.disabled;
console.logID:,emp.emp;
console.log--;
};
};
};
您可以使用ES6 map和REDUCT方法来实现所需的结果 您将把这个JSON对象存储到一个变量中 常数响应= 常量行={response}//从响应变量中解构行 要检索ID数组,可以执行以下操作:
const ids = rows.map((row) => {
return row.data.map((d) => {
return d.emp;
})
}).reduce((a, b) => a.concat(b), []);
转到该链接将冻结您的浏览器。我建议你把它修好