JavaScript 请求数据根据条件汇总的例子
时间: 2024-06-12 18:04:31 浏览: 10
假设有一个存储员工信息的数组,其中每个员工对象包含姓名、部门和薪资三个属性。现在需要根据部门和薪资条件对员工信息进行汇总,统计每个部门的薪资总和和员工数量。
可以通过以下代码实现:
```javascript
// 定义员工信息数组
var employees = [
{name: '张三', department: '销售部', salary: 5000},
{name: '李四', department: '研发部', salary: 8000},
{name: '王五', department: '研发部', salary: 6000},
{name: '赵六', department: '人事部', salary: 7000},
{name: '钱七', department: '销售部', salary: 9000},
{name: '孙八', department: '人事部', salary: 7500},
];
// 根据部门和薪资条件汇总员工信息
function summarizeEmployees(employees, department, minSalary) {
// 定义部门薪资总和和员工数量的对象
var result = {totalSalary: 0, count: 0};
// 遍历员工信息数组
employees.forEach(function(employee) {
// 判断员工所在部门是否符合条件
if (employee.department === department) {
// 判断员工薪资是否符合条件
if (employee.salary >= minSalary) {
// 符合条件,更新部门薪资总和和员工数量
result.totalSalary += employee.salary;
result.count++;
}
}
});
// 返回部门薪资总和和员工数量的对象
return result;
}
// 调用 summarizeEmployees 函数,获取销售部薪资总和和员工数量
var sales = summarizeEmployees(employees, '销售部', 6000);
console.log('销售部薪资总和:' + sales.totalSalary); // 输出 14000
console.log('销售部员工数量:' + sales.count); // 输出 2
// 调用 summarizeEmployees 函数,获取研发部薪资总和和员工数量
var development = summarizeEmployees(employees, '研发部', 7000);
console.log('研发部薪资总和:' + development.totalSalary); // 输出 8000
console.log('研发部员工数量:' + development.count); // 输出 1
// 调用 summarizeEmployees 函数,获取人事部薪资总和和员工数量
var hr = summarizeEmployees(employees, '人事部', 7000);
console.log('人事部薪资总和:' + hr.totalSalary); // 输出 7500
console.log('人事部员工数量:' + hr.count); // 输出 1
```
上述代码中,summarizeEmployees 函数接受三个参数:员工信息数组、部门名称和最低薪资,返回一个包含部门薪资总和和员工数量的对象。函数内部通过遍历员工信息数组,根据部门和薪资条件进行筛选,计算部门薪资总和和员工数量,并将结果保存在 result 对象中返回。最后,通过调用 summarizeEmployees 函数,可以获取不同部门的薪资总和和员工数量。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)