this.list.forEach((x)=> { if(this.map.has(x.regionName)){ const value = this.map.get(x.regionName) this.map.set(x.regionName,value,x.finalTotalAmount) }else{ this.map.set(x.regionName,x.finalTotalAmount) }如何求取finalTotalAmount的中位数
时间: 2024-04-17 14:25:55 浏览: 56
【手写 Vue2.x 源码】第六篇 - 数据代理的实现
要求finalTotalAmount的中位数,你可以按照以下步骤进行操作:
1. 首先,你需要将finalTotalAmount的值提取出来,可以使用map函数将this.list中的每个元素映射为finalTotalAmount的数组。可以使用以下代码:
```javascript
const amounts = this.list.map(x => x.finalTotalAmount);
```
2. 然后,对amounts数组进行排序,可以使用sort函数进行升序排序。
```javascript
amounts.sort((a, b) => a - b);
```
3. 排序后,你可以通过以下方式计算中位数:
- 如果数组长度为奇数,中位数就是排序后的数组中间的值:
```javascript
const median = amounts[Math.floor(amounts.length / 2)];
```
- 如果数组长度为偶数,中位数是排序后的数组中间两个值的平均值:
```javascript
const mid = Math.floor(amounts.length / 2);
const median = (amounts[mid - 1] + amounts[mid]) / 2;
```
这样,你就可以得到finalTotalAmount的中位数了。
阅读全文