javascript - 使用模运算符确定数组中的下一个值
问题描述
我的任务是必须确定在给定交易的情况下可以将多少货币面额作为零钱返还。
let change = 96.74
let cashRegister = [
[ 20, 60 ],
[ 10, 20 ],
[ 5, 55 ],
[ 1, 90 ],
[ 0.25, 4.25 ],
[ 0.1, 3.1 ],
[ 0.05, 2.05 ],
[ 0.01, 1.01 ]
]
收银机由子数组组成,第一个值是面额,第二个值是金额,例如[20, 60]
等于价值 60 美元的 20 美元纸币。
最终数组应如下所示:
let checkCashRegister = [
[20, 60],
[10, 20],
[5, 15],
[1, 1],
[0.25, 0.5],
[0.1, 0.2],
[0.01, 0.04]
]
我了解计算逻辑,但不知道如何编码。首先,我需要检查更改是否可以被子数组中的第一个值整除。在此之后,我将使用模运算符计算余数以在下一个子数组中使用。为了得到子数组的第二个值,我将子数组的第一个值除以面额的变化除以子数组的第一个值(向下舍入到最接近的整数):
const validDenoms = cashRegister.filter(subArr => {
return change / subArr[0]
})
let div = cashRegister[0][0] / Math.floor(change / cashRegister[0][0])
# change % cashRegister[0][1] => Remainder
# Remainder % cashRegister[1][1] => Second Remainder
# secondRemainder % cashRegister[2][1] => and so on until all the change is given
我不确定使用该Array.prototype.reduce()
方法是否可行,或者是否有其他方法。
请指教。
解决方案
推荐阅读
- keras - 加载的模型返回随机结果
- javascript - 用 JavaScript 计算复选框的值
- kotlin - 带有大量协程的 Kotlin 应用程序被锁定
- rocketmq - RocketMQ消息发出延迟消息,此后一直没有消息
- java - 如何从另一个类中获取返回值
- angular - TypeError:uniqueId_1.default 不是使用 Jest 进行 Angular 单元测试的函数
- javascript - Ionic 的购买插件无法获取任何实体
- reactjs - 如何将 react-hook-form 的寄存器与 react-jhipster 的 ValidatedInput 一起使用
- devops - 在组织用户下看不到新添加的项目用户
- html - 为什么 react-bootstrap text-center 不起作用?如果我改变宽度,为什么我的 HR 会自动居中?