【发布时间】:2021-05-10 05:28:54
【问题描述】:
我需要创建一个嵌套的逻辑,循环的数量基于输入的数组长度。
这个数组可以有N个值,数组的名字是penalities,我需要根据这个交互来制定我的逻辑。
如果输入数组长度N为3,如penalities数组[1, 2, 3]
我的代码需要结果
for (let x = 1; x <= 2; x += 0.1) {
for (let y = 1; y <= 2; y += 0.1) {
for (let z = 1; z <= 2; z += 0.1) {
const penalities = [x, y, z];
myFunction(penalities);
}
}
}
enter code here
如果输入数组长度N为4,如penalities array= [1, 2, 3, 4]
我的代码需要结果
for (let x = 1; x <= 2; x += 0.1) {
for (let y = 1; y <= 2; y += 0.1) {
for (let z = 1; z <= 2; z += 0.1) {
for (let k = 1; k <= 2; k += 0.1) {
const penalities = [x, y, z, k];
myFunction(penalities);
}
}
}
}
如何使这个迭代逻辑通用以接收数组内的任何数量,而不必创建 N 嵌套。
【问题讨论】:
-
为什么有时
value或array.length - 1对数组中的项目做了什么?你有内在逻辑的例子吗? -
在循环内
l时是否需要访问i、j和k? -
你可能不需要嵌套
fors,这就是人们问的原因。例如,您也许可以使用遍历数组 N 次的单个循环。 -
递归方法的草图...
function f(i, arr) { for (let j = 0; j < arr.length; j++) { if (i) { f(i - 1, arr); } else { ... } } }
标签: javascript node.js loops for-loop nested-loops