遍历包含对象数组的对象

时间:2019-04-08 10:09:10

标签: javascript reactjs

需要循环包含两个或多个对象的槽对象,每个对象都有一个或多个对象数组。

目标是:遍历每个数组并基于timeNeededForMakingAssignment将对象返回到新数组中。

以下是对象结构的外观: enter image description here

该对象在json中的外观如下:

TABLE DATA: {  
   "COMP_01":{  
      "prop":[  
         {  

            "timeNeededForMakingAssignment":"24",
            "timeReceived":"12:00",
            "username":"lneumann@churchmutual.com",

         },
         {  
            "timeNeededForMakingAssignment":"23",
            "timeReceived":"12:00",
            "username":"lneumann@churchmutual.com",

         },
         {  
            "timeNeededForMakingAssignment":"19",
            "timeReceived":"12:00",
            "username":"asinger@churchmutual.com",
         }
      ],
      "wc":[  
         {  
            "timeNeededForMakingAssignment":"23",
            "timeReceived":"12:00",
            "tpaRequired":false,
            "username":"lneumann@churchmutual.com",
         },
         {  
            "timeNeededForMakingAssignment":"23",
            "timeReceived":"12:00",
            "tpaRequired":false,
            "username":"lneumann@churchmutual.com",
         },
         {  
            "timeNeededForMakingAssignment":"24",
            "timeReceived":"12:00",
            "tpaRequired":false,
            "username":"asinger@churchmutual.com",
         }
      ],
      "lb":[  
         {  

            "timeNeededForMakingAssignment":"23",
            "timeReceived":"12:00",
         },
         {  
            "timeNeededForMakingAssignment":"22",
            "timeReceived":"12:00",
         },
          {  
            "timeNeededForMakingAssignment":"22",
            "timeReceived":"12:00",
         },
      ],
       "auto":[  
         {  

            "timeNeededForMakingAssignment":"23",
            "timeReceived":"12:00",
         },
         {  
            "timeNeededForMakingAssignment":"22",
            "timeReceived":"12:00",
         },
          {  
            "timeNeededForMakingAssignment":"22",
            "timeReceived":"12:00",
         },
      ],
    }
    "COMP_02": {  
      "prop":[  
         {  

            "timeNeededForMakingAssignment":"24",
            "timeReceived":"12:00",
            "username":"lneumann@churchmutual.com",

         },
         {  
            "timeNeededForMakingAssignment":"23",
            "timeReceived":"12:00",
            "username":"lneumann@churchmutual.com",

         },
         {  
            "timeNeededForMakingAssignment":"19",
            "timeReceived":"12:00",
            "username":"asinger@churchmutual.com",
         }
      ],
      "wc":[  
         {  
            "timeNeededForMakingAssignment":"23",
            "timeReceived":"12:00",
            "tpaRequired":false,
            "username":"lneumann@churchmutual.com",
         },
         {  
            "timeNeededForMakingAssignment":"23",
            "timeReceived":"12:00",
            "tpaRequired":false,
            "username":"lneumann@churchmutual.com",
         },
         {  
            "timeNeededForMakingAssignment":"24",
            "timeReceived":"12:00",
            "tpaRequired":false,
            "username":"asinger@churchmutual.com",
         }
      ],
      "lb":[  
         {  

            "timeNeededForMakingAssignment":"23",
            "timeReceived":"12:00",
         },
         {  
            "timeNeededForMakingAssignment":"22",
            "timeReceived":"12:00",
         },
          {  
            "timeNeededForMakingAssignment":"22",
            "timeReceived":"12:00",
         },
      ],
       "auto":[  
         {  

            "timeNeededForMakingAssignment":"23",
            "timeReceived":"12:00",
         },
         {  
            "timeNeededForMakingAssignment":"22",
            "timeReceived":"12:00",
         },
          {  
            "timeNeededForMakingAssignment":"22",
            "timeReceived":"12:00",
         },
      ],
    }
}

如何遍历此对象并返回基于对象的pn属性timeNeededForMakingAssignment

1 个答案:

答案 0 :(得分:1)

我不知道我是否很好地理解了您的要求,但我认为可能是这样的:

var comp=tableData.COMP_01;
var prop=comp.prop;
prop.forEach(function(e){
    if(e.timeNeededForMakingAssignement==="25"){
        //Do your stuff here
    }
});

//Repeat for COMP_02

我还认为您应该将此值设置为int而不是字符串