JSFiddle - React, Tailwind, and code Playground
by Eugen Sunic
JavaScript
const employees = [
{ name: "Jane Doe", department: "Engineering", salary: 90000 },
{ name: "John Smith", department: "HR", salary: 60000 },
{ name: "Emma Jones", department: "Engineering", salary: 95000 },
{ name: "James Brown", department: "Marketing", salary: 70000 },
{ name: "Emily Davis", department: "Engineering", salary: 85000 }
];
function calculateAverageSalary(employees) {
const engineeringEmployees = employees.filter(employee => employee.department === "Engineering");
const salaries = engineeringEmployees.map(employee => employee.salary);
const averageSalary = salaries.reduce((acc, salary) => acc + salary, 0) / salaries.length;
return averageSalary;
}
// Example usage:
const averageEngineeringSalary = calculateAverageSalary(employees);
console.log(`Average Engineering Salary: $${averageEngineeringSalary}`);
// sample pseudo code implementation
// way of thinking.. map concept
// functional programming methods,
function groupByDepartment(employees) {
return employees.reduce((acc, employee) => {
if (!acc[employee.department]) {
acc[employee.department] = [];
}
acc[employee.department].push(employee);
return acc;
}, {});
}
console.log(groupByDepartment(employees))