viarotel
2022-12-08 15:27:21 +08:00
可能是我没说太清楚我重新整理了一下
```javascript
// 给出一组数据 values 中的值如果是数字表示为固定值 如果为长度为 2 的数组则表示为范围值 他们统称为报价
const values = [10, [60, 80], 35, [50, 90], 90];
// 计算规则
// 1. 基准价 = 报价的算术平均值(如果数据是范围值那么范围之间所有值参与平均值计算) 当 values 数组长度大于等于 5 时,去掉一个最高和一个最低后的算术平均值。
// 2. 以基准价为基础 报价与基准价相等者得基准分 30 分,高于基准价的,按每高于基准价 1%扣 1 分的比例从基准分中进行扣分,扣完为止
// 3. 报价低于基准价的,按每低于基准价 1%加 1 分的比例在基准分上进行加分,最高加 5 分
// 4. 报价低于基准价 5%(不含 5%)以上,按每再低 1%扣 0.5 分的比例从得分中扣分,扣完为止
// 5. 不足±1%,按线性插入法计算
// 6. 结果值也参与到计算中去 以算出最优值
// 根据规则计算出最接近的满分(最大)的值
// 下面是待完善的函数 可输入多个固定值和区间值
const optimization = (arr) => {};
// 执行该函数 输出满分值(最大值)
console.log(optimization(values));
```