在我的一个项目中,我需要做一个很长的for循环,其中包含9个不同的if / else语句。我正在尝试编写更干净,更可维护和可读的代码。我希望可以将此for循环分解为一系列较小的函数。
我不确定如何执行此操作,因此尝试了此操作,并在函数中编写了一个for循环,在另一个条件中编写了条件if else语句,并尝试在for循环中调用它。 由于我未定义,因此未产生期望的结果。 我了解这是因为范围。我的问题是,有没有办法分解这样的for循环?
代码如下:
let x = 5;
let y = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
const compare = () => {
if (x == y[i]) {
alert('hello');
}
}
const loop = () => {
for (let i = 0; i < y.length; i++) {
compare();
}
}
loop();
答案 0 :(得分:1)
简单传递“ i”作为参数以比较功能,
let x = 5;
let y = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
const compare = (i) => {
if (x == y[i]) {
alert('hello');
}
}
const loop = () => {
for (let i = 0; i < y.length; i++) {
compare(i);
}
}
loop();
答案 1 :(得分:0)
您可以改用forEach。
window.onload = () =>{
let x = 5;
let y = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
const loop = ()=>{
y.forEach(item => {if(item===x) alert('hello')})
}
loop();
}