Итак, у меня всего три вложенных ассоциативных объекта / массива.Сначала были созданы Employee1 и employee2, а затем сотрудники, чтобы вложить два ассоциативных объекта.Затем я создал третий ассоциативный объект employee3 для вложения в объект employee.Сейчас я пытаюсь отфильтровать двумерный массив с помощью метода .filter (), чтобы отобразить только тех сотрудников, которые там работают в данный момент, что указано в массивах как ["isCurrent"] = true;но все, что я получаю в окне консоли, не определено.Почему это происходит и как мне это исправить?
var employee1 = [];
employee1["id"] = 33;
employee1["name"] = "Carey Shanks";
employee1["title"] = "Knife Maker";
employee1["department"] = "fabrication";
employee1["isCurrent"] = true;
var employee2 = [];
employee2["id"] = 34;
employee2["name"] = "Giles Newman";
employee2["title"] = "Lead Sales";
employee2["department"] = "Customer Service";
employee2["isCurrent"] = true;
var employees = [];
employees[0] = [];
employees[0]["id"] = 33;
employees[0]["name"] = "Carey Shanks";
employees[0]["title"] = "Knife Maker";
employees[0]["department"] = "fabrication";
employees[0]["isCurrent"] = true;
var employee3 = [];
employee3["id"] = 35;
employee3["name"] = "Tori G.";
employee3["title"] = "Product Demonstrator";
employee3["department"] = "Marketing";
employee3["isCurrent"] = false;
//MERING THE ARRAYS
employees.push(employee2);
employees.push(employee3);
//TESTING TO SEE IF IT POPULATED
//window.console.log(employees);
var i;
var currentEmployee = function (isCurrent) {
var isCurrentEmployee = true;
for (i in employees) {
if (isCurrent !== true) {
isCurrentEmployee = false;
break;
}
}
return isCurrentEmployee;
};
var isCompanyEmployee = employees.filter(currentEmployee);
window.console.log(isCompanyEmployee[i]);