javascript - 如何用 JavaScript 找出 3 个值适合一个值的次数
问题描述
所以我有以下星座:
有一个总数,我需要找出 X、Y 和 Z 值适合它的次数。例如:
总计:10.000 X:5000 Y:3000 Z:1000
结果应该是:1 倍 X 1 倍 Y 2 倍 Z
我怎么能用JS计算呢?
if (Total >= X) {
numberOfX = Math.floor(Total / X);
if (Total % X !== 0) {
divisionRest = Total - (X * numberOfX);
if (divisionRest >= Y) {
numberOfY = Math.floor(divisionRest / Y)
}
}
}
解决方案
解决方案
您可以通过以下方式检查值适合的频率
- 首先检查最高值适合的频率
while(input >= 10000)
。只要它适合递增您的计数器并从输入中减去该值input -= 10000
。 - 然后将其应用于您的下一个值。
因为这里有多个值要检查,所以可以使用数组。
只要当前值适合从输入中减去它并递增计数器,就迭代数组。
当它不再适合时,请转到数组中的下一个值并对其执行相同操作,只要数组中的值不是>=
剩余的输入(减法之后)。
这是完整的代码
let values = [10000, 5000, 3000, 1000];
let input = 508000;
let result = [];
for (let i = 0; i < values.length; i++) {
let counter = 0;
while (input >= values[i]) {
counter++;
input -= values[i];
}
result.push({
"number": values[i],
"counter": counter
});
}
console.log(result);
推荐阅读
- python - Django-将多个模型对象保存到数据库
- python - Kivy - FloatLayout 中的计时器集成
- php - 从 mysql 数据中为用户分配和显示排名
- stata - 生成带有奇偶标签的变量
- javascript - 使用Speakeasy在nodejs中生成OTP:设置到期时间
- database - 如何在数据库中正确存储登录信息
- python - [Recurrent Neural Networks Tensorflow]: ValueError: setting an array element with a sequence
- android - Android Recyclerview 无限滚动
- php - Codeigniter,form_dropdown 禁用或导致标签 [PHP]
- django - Django 从谷歌云媒体位置加载模板