作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的一个项目中,我需要制作一个非常长的 for 循环,其中包含 9 个不同的 if/else 语句。我正在尝试编写更干净、更易于维护和可读的代码。我希望能够将这个 for 循环分解为一系列较小的函数。
我不知道如何做到这一点,所以尝试了一下,在一个函数中编写了一个 for 循环,在另一个函数中编写了一个条件 if else 语句,并尝试在 for 循环中调用它。这没有产生期望的结果,因为 i 未定义。我理解这是因为范围的原因。我的问题是,有没有办法分解这样的 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();
最佳答案
简单地将“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();
关于javascript - 如何将一个很长的 for 循环分解成更小、更易读但仍能执行的部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54506632/
我是一名优秀的程序员,十分优秀!