javascript 如何从一系列数字中获得百分比变化?

uttx8gqw  于 2023-06-20  发布在  Java
关注(0)|答案(1)|浏览(93)

我的要求是在一系列数字中找到百分比变化(如趋势线)。在互联网上,我可以找到解决方案,只是找到两个数字之间的百分比差异,但不是一个系列。
考虑这是7天数据的系列:26, 49, 14, 79, 11, 0, 0现在,我需要根据这7天的系列获得增加或减少的百分比。
我提出的解决方案(尽管我对此没有信心)
1.求两个数字之间的百分比变化
1.求步骤1中所有百分比变化值的平均值
有没有人有一个好的方法来计算几乎准确的百分比变化?预期的最终结果是一个单一值,表示过去7天内数据趋势线的总体百分比变化。

axr492tv

axr492tv1#

你的问题有点不清楚,但这应该给予你一条趋势线,整数表示连续元素之间的百分比增加/减少。
我也应用了你提出的解决方案,但是这个解决方案会受到异常值的高度影响(只是平均值的性质)。

const list = [26, 49, 14, 79, 11, 0, 0];
let trend = []
for (var i = 1; i < list.length; i++) {
  const difference = list[i] - list[i - 1];
  const percentageDifference = difference != 0 ? difference / list[i - 1] * 100 : 0;
  trend.push(percentageDifference);
};
const meanPercentageDifference = trend.reduce((a, b) => a + b, 0) / trend.length;
console.table(trend);
console.log({
  meanPercentageDifference
});

相关问题