gpt4 book ai didi

javascript - 有没有办法让我把它变成一个函数或任何更有效的东西

转载 作者:行者123 更新时间:2023-11-30 20:14:00 25 4
gpt4 key购买 nike

if (one >= 16 && one <= 20){
if (two >= 10){
Sum.innerHTML = "$2750";
} else {
Sum.innerHTML = "$2500";
}
} else if (one >= 20 && one <= 25){
if (two >= 10){
Sum.innerHTML = "$2500";
} else {
Sum.innerHTML = "$2250";
}
}

这只是我的一小部分代码,它只是一个简单的金钱计算器,用于计算我和 friend 一起做的事情,这并不重要。我似乎无法想到是否有任何方法可以通过使用这样的函数来提高效率,因为它看起来有很多相同的代码并且是“干的”这不是它的所有代码,有这么多...不知道是否有人可以提供帮助,仅供引用,这是在 js 中,Sum 是一个段落 ID,所以只需将其视为控制台日志即可。

谢谢,伊桑

编辑

https://codepen.io/anon/pen/bxgYWL?editors=10100如果你继续下去,你可以看到所有的代码和我想添加的所有评论,以帮助你理解。如果它没有帮助并且没有其他方法可以提高效率,请不要担心。这并不重要,因为它只是一段私有(private)代码,不会引起很多问题。

最佳答案

您可以使用数据结构来保存范围边界,然后对其进行循环。

var params = [
{ onelow: 16, onehigh: 20,
two: [ { low: -inf, high: 9, value: 2500 },
{ low: 10, high: +inf, value: 2750 }],
},
{ onelow: 21, onehigh: 25,
two: [ { low: -inf, high: 9, value: 2250 },
{ low: 10, high: +inf, value: 2500 }],
},
...
];

let done = false;
for(let i = 0; !done && i < params.length; i++) {
let param = params[i];
if (one >= param.onelow && one <= param.onehigh) {
let done = false;
for (let j = 0; j < param.two.length; j++) {
let param2 = param[j];
if (two >= param2.low && two <= param2.high) {
Sum.innerHTML = "$" + param2.value;
done = true; // stop the outer loop, too
break;
}
}
}
}

关于javascript - 有没有办法让我把它变成一个函数或任何更有效的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52106620/

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