如何解决数组计算条件
我这里有一系列带有特定费用的值。我已经使用 if 函数来满足条件,但我的代码似乎太长而无法完成这个条件。我已经搜索了很多并发现该数组可以解决我的问题,但我无法正确运行它。 这是我的工作代码。
<script src="https://code.jquery.com/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js"></script>
<div class="collapse" id="pera-padala">
<div class="card card-body">
<div class="form-element">
<span>B. Input ang amount na ipapadala </span>
<input name="entry.1812134286" id="padala-pera" type="number" required="">
</div>
<br>
<div class="form-element">
<span>C. Total Babayaran: <span id="padala-result"></span>
$('#padala-pera').keyup(function () {
let inputVal = $('#padala-pera').val();
inputVal = inputVal ? inputVal : '-30';
if (inputVal <= 1000 ) {
$('#padala-result').text("₱".concat(Math.ceil(parseFloat(inputVal) + 30)));
}
else if (inputVal > 1000 && inputVal <= 1500) {
$('#padala-result').text("₱".concat(Math.ceil(parseFloat(inputVal) + 45)));
}
else if (inputVal > 1500 && inputVal <= 2000) {
$('#padala-result').text("₱".concat(Math.ceil(parseFloat(inputVal) + 60)));
}
else if (inputVal > 2000 && inputVal <= 2500) {
$('#padala-result').text("₱".concat(Math.ceil(parseFloat(inputVal) + 75)));
}
});
这里是要满足的条件。
谢谢
解决方法
看起来有一种可预测的模式。首先,我们将输入转换为带有简写 +
前缀的数字。然后我们找到费用 - 如果金额小于 1000,它是一个固定数字,但如果超过 1000,则每超过 500,它就会增加 15,再加上原来的 30。我们从 30 + Math.ceil((iv-1000)/500) * 15
$('#padala-pera').keyup(function() {
let iv = +$(this).val();
let num;
if (iv <= 1000) num = 30;
else num = 30 + Math.ceil((iv-1000)/500) * 15
let result = iv + num;
$('#padala-result').text(`₱${Math.ceil(result)}`);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id='padala-pera' />
<div id='padala-result'></div>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。