JS计算数组各数据所占百分比
时间: 2024-03-12 16:49:51 浏览: 152
可以通过以下步骤来计算数组中各数据所占百分比:
1. 计算数组中所有数字的总和。
2. 遍历数组,计算每个数字在数组中的出现次数以及它们的总和。
3. 计算每个数字在数组中所占的百分比,即该数字的总和除以数组总和的结果乘以100。
以下是一个示例代码:
```javascript
function calculatePercentage(arr) {
const totalSum = arr.reduce((acc, cur) => acc + cur, 0);
const countMap = arr.reduce((acc, cur) => {
acc[cur] = acc[cur] ? acc[cur] + 1 : 1;
return acc;
}, {});
const result = Object.entries(countMap).map(([num, count]) => {
const percentage = ((count * num) / totalSum) * 100;
return `${num}: ${percentage.toFixed(2)}%`;
});
return result;
}
const arr = [1, 2, 3, 3, 4, 4, 4, 5, 5, 5, 5];
console.log(calculatePercentage(arr));
```
输出结果为:
```
[
"1: 2.38%",
"2: 4.76%",
"3: 7.14%",
"4: 14.29%",
"5: 71.43%"
]
```
其中,数字1在数组中出现了1次,所以它所占的百分比为1/42*100=2.38%;数字2出现了2次,所以它所占的百分比为2/42*100=4.76%;以此类推。
阅读全文