js实现统计
js实现统计的方法
在JavaScript中实现统计功能可以通过多种方式,以下是一些常见的统计方法:
计算平均值
使用数组的reduce方法计算平均值:
const numbers = [1, 2, 3, 4, 5];
const average = numbers.reduce((sum, num) => sum + num, 0) / numbers.length;
console.log(average); // 输出3
计算中位数
对数组排序后找到中间值:
const median = arr => {
const sorted = [...arr].sort((a, b) => a - b);
const middle = Math.floor(sorted.length / 2);
return sorted.length % 2 === 0 ?
(sorted[middle - 1] + sorted[middle]) / 2 :
sorted[middle];
};
console.log(median([1, 3, 5, 7])); // 输出4
计算标准差
先计算平均值,再计算方差,最后取平方根:
const stdDev = arr => {
const avg = arr.reduce((sum, num) => sum + num, 0) / arr.length;
const variance = arr.reduce((sum, num) => sum + Math.pow(num - avg, 2), 0) / arr.length;
return Math.sqrt(variance);
};
console.log(stdDev([10, 12, 23, 23, 16])); // 输出约5.69
计算频率分布
使用对象记录每个值的出现次数:
const frequency = arr => {
return arr.reduce((acc, val) => {
acc[val] = (acc[val] || 0) + 1;
return acc;
}, {});
};
console.log(frequency(['a', 'b', 'a', 'c', 'b', 'a'])); // 输出{a:3, b:2, c:1}
使用统计库
对于更复杂的统计需求,可以使用专门的统计库:

// 使用simple-statistics库
const ss = require('simple-statistics');
console.log(ss.mean([1, 2, 3, 4])); // 输出2.5
注意事项
处理大型数据集时考虑性能问题,可能需要分批处理数据或使用Web Worker。确保数值计算时处理可能的浮点数精度问题。






