Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
</body>
</html>
 
var arr = 
[
  
  {
    taskTypeGroupId: "EXP.CONT", taskTypeGroupName: "Contradictoire", 
    taskType: 
    {
      taskTypeId: "DGE-EXPCONT", taskTypeName: "Dégats des eaux contradictoire", defaultDuration: 60, isInProject: false, 
      dataItems:
      {
        id: "EXTRAFILLER5", label: "Divers 5"
      }
    }
  },
 
  {
  takTypeGroupId: "EXPQUAL", taskTypeGroupName: "Contrôle qualité", 
    taskType: 
    {
      taskTypeId: "DGE-EXPQUAL", taskTypeName: "Contrôle qualité dégats des eaux", defaultDuration: 60, isInProject: false, 
      dataItems: 
      {
        id: "EXTRAFILLER5", label: "Divers 5"
      }
    }
  }
  
];
function filterByProperty(array, prop, value){
    var filtered = [];
  
    for(var i = 0; i < array.length; i++){
    var array1 = array[i];
      for(var key in array1){
        if(typeof(array1[key] == "object")){
        var array2 = array1[key];
          for (var key2 in array2){
            if(typeof(array2[key2] == "object")){
            var array3 = array2[key2];
              if(array3[prop] == value){
                filtered.push(array3);
              }
            }
          }
        }
      }
    }    
    return filtered;
}
function filterArrays(array,prop){
    var filtered = [];
    var taskId=[];
  
    for(var i = 0; i < array.length; i++){
    var array1 = array[i];
      for(var key in array1){
        if(typeof(array1[key] == "object")){
        var array2 = array1[key];
              if(typeof array2[prop] != "undefined"){
                //filtered.push(array2);
                console.log(array2.taskTypeId + " " + array2.dataItems.id);
                //taskId.push(array2[prop]);
                //dataId= array2.dataItems.id
                return taskId;
              }
         }
       }
     }    
    /*for(var index in filtered) {
      console.log( index + " : " + filtered[index] + "");
    }*/
}
//var byArrays3 = filterByProperty(arr, "id", "EXTRAFILLER5");
var byArrays2 = filterArrays(arr,"taskTypeId");
console.log(byArrays2);
// function checkExist(object){
//   if (typeof object.label != "undefined") {
//    alert("GOT THERE");
//   }
//   else{
//     alert("Shit");
//   }
    
// }
//console.log(byArrays3)
//console.log(Array.from(byArrays3))
//console.log(Array.from(byArrays2))
//console.log(checkExist(byArrays3))
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
thienbanpro
0viewers