我有一个数字列表,例如 1 到 60,但不一定以 1 为增量。例如,1-40 以 1 为增量,40-60 以 2 为增量。
我有另一组定义的数字(桶)——例如 2、3、5、10、30、50
我需要生成一个二维数组,其中每个数字(1 到 60)适合哪个桶的百分比。
让这更简单:假设我们有数字 1 到 10,以及桶 2、3、5、10
我希望我的二维数组看起来像这样:
我可以用一堆条件来做到这一点,但我认为有一个我没有想到的解决方案,如果有人能阐明一下,那就太好了!我需要在 JavaScript 中执行此操作,但是任何语言都可以帮助我尝试理解任何比许多 if 决定每个数字适合的位置然后为每个单元格执行 (6-5/10-5)=0.2 更优化的解决方案。
我试图避免对存储桶 2、3、5、10 进行硬编码,以便任何一组存储桶或数字都可以完成这项工作。
编辑: 首先,对于不完整的描述,我很抱歉 - 我当时在手机上,无法通过计算机在 stackoverflow 上发帖。
1-10 和 2,3,5,10 都代表年份。实际上,我试图每年从 1 到 10。
- 第 1 年 100% 进入 Bucket 2 - 我想这个单元格没有特定的公式
- 第 2 年 100% 进入 Bucket 2 - 也没有具体公式
- 第 3 年 100% 进入存储桶 3 - 3==3
- 第 4 年在存储桶 3 之间分配一半,在存储桶 5 之间分配一半。计算公式为:(第 4 年 - 第 3 年)/(第 5 年 - 第 3 年)= 0.5
- 第 5 年 100% 进入存储桶 5。
- 第 6 年,80% 进入桶 5,20% 进入桶 10。这个公式是:1-(6-5)/(10-5)=0.8 和它的相邻单元格 (6-5)/( 10-5)
- ...等等...
我希望这能让它更清楚。