// Define a nested object for a company const company = { name: "GeeksforGeeks", location: "Noida", employees: { count: 100, departments: ["Development", "Design", "Marketing"], details: [ { name: "John Doe", position: "Developer" }, { name: "Jane Smith", position: "Designer" } ] } }; // Function to display company information function displayCompanyInfo(company) { console.log("Company Name:", company.name); console.log("Location:", company.location); console.log("Employee Count:", company.employees.count); console.log("Departments:", company.employees.departments.join(", ")); console.log("Employee Details:"); company.employees.details.forEach(employee => { console.log(`- ${employee.name}, Position: ${employee.position}`); }); } // Function to add a new employee function addEmployee(company, employeeName, employeePosition) { const newEmployee = { name: employeeName, position: employeePosition }; company.employees.details.push(newEmployee); company.employees.count++; } // Function to update the department list function addDepartment(company, departmentName) { if (!company.employees.departments.includes(departmentName)) { company.employees.departments.push(departmentName); console.log(`Department "${departmentName}" added.`); } else { console.log(`Department "${departmentName}" already exists.`); } } // Display original company info console.log("Original Company Information:"); displayCompanyInfo(company); // Add a new employee addEmployee(company, "Alice Johnson", "Project Manager"); console.log("\nAfter Adding New Employee:"); displayCompanyInfo(company); // Add a new department addDepartment(company, "Sales"); console.log("\nAfter Adding New Department:"); displayCompanyInfo(company); // Attempt to add an existing department addDepartment(company, "Development"); /*OUTPUT Original Company Information: Company Name: GeeksforGeeks Location: Noida Employee Count: 100 Departments: Development, Design, Marketing Employee Details: - John Doe, Position: Developer - Jane Smith, Position: Designer After Adding New Employee: Company Name: GeeksforGeeks Location: Noida Employee Count: 101 Departments: Development, Design, Marketing Employee Details: - John Doe, Position: Developer - Jane Smith, Position: Designer - Alice Johnson, Position: Project Manager After Adding New Department: Company Name: GeeksforGeeks Location: Noida Employee Count: 101 Departments: Development, Design, Marketing, Sales Employee Details: - John Doe, Position: Developer - Jane Smith, Position: Designer - Alice Johnson, Position: Project Manager Department "Development" already exists.*/