Javascript 如何循环JSON数组?
我有一些JSON代码,其中包含多个对象:Javascript 如何循环JSON数组?,javascript,json,jquery,Javascript,Json,Jquery,我有一些JSON代码,其中包含多个对象: [ { "MNGR_NAME": "Mark", "MGR_ID": "M44", "EMP_ID": "1849" }, { "MNGR_NAME": "Steve", "PROJ_ID": "88421", "PROJ_NAME": "ABC", "PROJ_ALLOC_NO": "49" } ] 我的JS
[
{
"MNGR_NAME": "Mark",
"MGR_ID": "M44",
"EMP_ID": "1849"
},
{
"MNGR_NAME": "Steve",
"PROJ_ID": "88421",
"PROJ_NAME": "ABC",
"PROJ_ALLOC_NO": "49"
}
]
我的JSON循环片段是:
function ServiceSucceeded(result)
{
for(var x=0; x<result.length; x++)
{
}
}
函数服务成功(结果)
{
对于(var x=0;x,您需要在迭代时访问结果
对象
for (var key in result)
{
if (result.hasOwnProperty(key))
{
// here you have access to
var MNGR_NAME = result[key].MNGR_NAME;
var MGR_ID = result[key].MGR_ID;
}
}
这将在对象中查找MNGR\u名称
键的出现次数
数组
:
var numMngrName = 0;
$.each(json, function () {
// 'this' is the Object you are iterating over
if (this.MNGR_NAME !== undefined) {
numMngrName++;
}
});
您可以使用jQuery的:
返回false
将破坏each,因此当遇到一个管理器时,迭代将停止。循环中的result[x]
是对象,因此如果您想计算可能存在或不存在的成员
function ServiceSucceeded(result)
{
var managers = 0
for(var x=0; x<result.length; x++)
{
if (typeof result[x].MNGR_NAME !== "undefined")
managers++;
}
alert(managers);
}
函数服务成功(结果)
{
风险值管理器=0
对于(var x=0;x,如果还想获取包含该属性的元素,可以使用$.each或$.grep
filtered = $.grep(result, function(value) {
return (value["MNGR_NAME"] !== undefined)
});
count = filtered.length
您可以迭代集合并检查每个对象是否包含以下属性:
var count = 0;
var i;
for(i = 0; i < jsonObj.length; i += 1) {
if(jsonObj[i]["MNGR_NAME"]) {
count++;
}
}
var计数=0;
var i;
对于(i=0;i
工作示例:请注意,您的对象是一个JavaScript对象数组。
你能用这样的吗
var array = [{
"MNGR_NAME": "Mark",
"MGR_ID": "M44",
"EMP_ID": "1849"
},
{
"MNGR_NAME": "Steve",
"PROJ_ID": "88421",
"PROJ_NAME": "ABC",
"PROJ_ALLOC_NO": "49"
}];
var numberOfMngrName = 0;
for(var i=0;i<array.length;i++){
if(array[i].MNGR_NAME != null){
numberOfMngrName++;
}
}
console.log(numberOfMngrName);
var数组=[{
“MNGR_名称”:“标记”,
“经理ID”:“M44”,
“EMP_ID”:“1849”
},
{
“MNGR_名称”:“史蒂夫”,
“项目ID”:“88421”,
“项目名称”:“ABC”,
“项目分配号”:“49”
}];
var numberOfMngrName=0;
对于(var i=0;i使用ES6
myobj1.map(items =>
{
if(items.MNGR_NAME) {
return items.MNGR_NAME;
}else {
//do want you want.
}
})
谢谢。你问题中的“否”是指“数字”吗?如果你想计数,当然不应该返回false
。你的回答帮助我的JSON数组摆脱了坏数据。但是为什么数据会被发送出去?你为什么要检查额外的If?谢谢你使用纯JavaScript。
myobj1.map(items =>
{
if(items.MNGR_NAME) {
return items.MNGR_NAME;
}else {
//do want you want.
}
})