var createEmployee = function (firstName, lastName, role){
   var employee = {};
  Object.defineProperties(employee, {
    firstName :{
      value : firstName,
      //writable :true
      enumerable: true
    },
     lastName :{
      value : lastName,
       //writable :true
       enumerable: true
    },
    fullName : {
      get : function(){
        return this.firstName +" "+ this.lastName;
      }
    },
    role :{
      value : role,
      writable :true,
      enumerable: true
    },
  });
  return employee;
  
}

// Array with emploeeys (probably from company DB)
var employeesArrayFromDB = [
  {firstName:"Bill", lastName:"Debil", role:"Manager"},
  {firstName:"John", lastName:"Doe", role:"Doorman"},
  {firstName:"Dean", lastName:"Blabla", role:"Lawyer"},
  {firstName:"Bobo", lastName:"Jumper", role:"Lawyer"}
];

// Creating array for employees objects
var newEmployeesArray = [];

for(var emp in employeesArrayFromDB ){
  // Pushing employees objects to array
   newEmployeesArray.push(createEmployee(employeesArrayFromDB[emp].firstName ,employeesArrayFromDB[emp].lastName, employeesArrayFromDB[emp].role ));
}


// Find employees by property
// Examples:
// findEmployee("lastName","Blabla");
// findEmployee("role","Lawyer");
var findEmployee = function(property, value){
  var employeesFound = [];
    var employeesSearch = newEmployeesArray.filter(function(obj) {
      if(obj[property] === value) employeesFound.push(obj);
    });
   
    return (employeesFound.length > 0)?employeesFound : "not found" ;
};
Rerun