gpt4 book ai didi

javascript - 为什么我的函数返回平均工资问题的错误答案

转载 作者:行者123 更新时间:2023-12-01 15:59:11 26 4
gpt4 key购买 nike

我是 javascript 的新手,正在处理来自 leetcode 的问题。

包含的描述是:“给定一个唯一整数 salary 数组,其中 salary[i] 是员工 i 的薪水。

返回员工的平均工资,不包括最低和最高工资。”

当我运行我的代码时,它说当传入以下数组时我的输出不正确。

[25000,48000,57000,86000,33000,10000,42000,3000,54000,29000,79000,40000]
Expected Output: 41700.00000
My Output: 41000.00000

我已经将我的代码与其他提交的代码进行了比较,据我所知,我的代码应该运行相同。这是我的代码:

function average(salary) {
var sortedSalary = salary.sort();
var total = sortedSalary.reduce((curr, acc) => {
return curr + acc
}, 0);
var result = (total - sortedSalary[0] - sortedSalary[sortedSalary.length - 1]) / (sortedSalary.length - 2);
return result;
};
console.log(average([25000,48000,57000,86000,33000,10000,42000,3000,54000,29000,79000,40000]));

感谢您对此的任何见解。

最佳答案

您正在对数组 alphabetically 进行排序,而不是最小的数字,所以你最终删除了错误的数字。

改为使用 sort((a, b) => a - b):

const salary = [25000,48000,57000,86000,33000,10000,42000,3000,54000,29000,79000,40000]

function average(salary) {
var sortedSalary = salary.sort((a, b) => a - b);
var total = sortedSalary.reduce((curr, acc) => { return curr + acc }, 0);
var result = (total - sortedSalary[0] - sortedSalary[sortedSalary.length - 1]) / (sortedSalary.length - 2);
return result;
};

console.log(average(salary))

关于javascript - 为什么我的函数返回平均工资问题的错误答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62959878/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com