使用%运算符而不是if语句重写代码



我正在编写这段代码,作为一名JS新手,我被困在这里,需要帮助。您将如何重写这个块,使用%运算符,而不是if语句?

<!DOCTYPE html>
<html>
<head>
<script>
window.onload=function(){
var letters = ["A","B","C"]
var counter = 0;
var timer=setInterval(
function(){
counter= counter+1;
if (counter==letters.length){
counter=0;
}
document.getElementById("demo").value=letters[counter];
},1000)
}
</script>
</head>
<body>
<input type="text" id="demo" value="A">
</body>
</html>

只需在执行加法操作后使用它,即可返回除法(或模数(后的余数:

const letters = ["A","B","C"]
let counter = 0;
setInterval(function(){

counter = (counter+1) % letters.length;
document.getElementById("demo").value = letters[counter];
}, 1000);
<input type="text" id="demo" value="A" />

还有一些其他提示,如果值没有改变(比如数组(,请使用const,如果值确实可以改变,则使用let。此外,您不需要在这里存储您的间隔,因为您永远不会取消它,所以在这种情况下不需要const timer。大大简化了代码!

最新更新