Вы не можете повернуть это так.Либо вы перемещаете отдел в качестве ключа в объекте сотрудника, либо вам необходимо получить к нему доступ, как employee.accounting [0] .firstName.
Если вы настаиваете на доступе к сотруднику в качестве сотрудников [index], вы должныреструктурируйте его так:
var employees = [
{ "firstName" : "John", "lastName" : "Doe", "age" : 23, "department" : "accounting" },
{ "firstName" : "...", ..., "department" : "accounting" },
... and so on.
];
и представьте другой способ фильтрации по отделам.
возможно, создайте функцию, которая перебирает массив сотрудников, и скопируйте каждый элемент, соответствующий фильтру, вновый объект массива и вернуть его.
function getAllEmployeesFilteredBy(filterName, filterValue, empArray)
{
var result = [];
for (var i=0; i < empArray.length; i++) {
if (empArray[i][filterName] === filterValue)
//by ref
result[result.length] = empArray[i];
//or if you prefer by value (different object altogether)
//result[result.length] = { "firstName" : empArray[i].firstName, "lastName" : empArray[i].lastName, ... }
}
return result;
}