gpt4 book ai didi

JavaScript - 简化/缩短代码

转载 作者:行者123 更新时间:2023-12-03 07:53:14 27 4
gpt4 key购买 nike

我有以下函数,我想用 for 循环来简化它,但不知道该怎么做。任何帮助都感激不尽。基本上,如果字段值为 0 或 null,则我的总值(字段)应为 0,否则,如果字段值从 1 到 1000,则总值变为 5000。对于每 1000(即 1001 到 2000),我的总值应为增加 50,即 5050。这应该持续到字段值达到 200000 并且总数为 50000。

function calc56() {
var56 = parseFloat(document.getElementById('units56').value - 0);

if (var56 == '' || var56 == 0) {
document.getElementById('amount56').value = 0;
}
else if (var56 < 1000) {
document.getElementById('amount56').value = 5000;
}
else if ((var56 > 1000) && (var56 <= 2000)) {
document.getElementById('amount56').value = 5050;
}
else if ((var56 > 2000) && (var56 <= 3000)) {
document.getElementById('amount56').value = 5100;
}
}

提前致谢。

最佳答案

function calc56() {
var el = document.getElementById('units56'); //reference the dom element
var val = +el.value; //convert to float

if (!val) { //if no value, leave untouched

} else if (val < 0) { //if value is less than 0, make it 0.
el.value = 0;
} else { //otherwise, calculate new value
var mod = Math.floor(val / 1000); //calc how many 1000s fit in the value
el.value = mod * 50 + 5000; //use at least 5000, and add 50 for every 1000
}
}

我建议您也更改该函数的名称,因为它不是很有用。然而,这里的代码应该是最有效的,同时仍然保持可读性。

如果您需要更多说明,请随时在评论中提问!

关于JavaScript - 简化/缩短代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34922086/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com