Javascript:按比例“缩放”数字数组以求和成一个值

时间:2019-06-23 17:08:28

标签: javascript arrays math

我在javascript中有一个数字数组-例如:

[ 100, 100, 100, 100 ]

鉴于该数组必须求和一个值-我将使用100作为示例,我试图创建一个函数来按比例缩放该数据集,例如,每个值等于25。如果我运行此函数,则从数组中删除值之一,从而得到一个像这样的数组:

[25,25,25]

该函数将为剩余的每个条目返回33.3333-的值,因此它的总和仍为100。

另外,如果我要将这些值之一迭代1,则创建一个数组:

[33.33333,33.33333,34.33333]

与101的总和,该函数将需要按比例减少其他未修改的条目,以得出正好为100的总和,这意味着我需要具有以下功能:根据需要,可以从此计算中排除一个值它是数组中的索引。我正在寻找这样的东西:

function ProportionallyScale(array,mustsumto,exclude = false) { 
//do math 
return array;
}

1 个答案:

答案 0 :(得分:2)

以下是您处理此问题的方法:

  • 找到数组中所有值的总和
  • 将每个值除以总和
  • 每个值乘以100

这显然是一个家庭作业问题,因此我不会为您编写代码,但是对于所有这些事情,您都需要一个for()循环。祝你好运!