gpt4 book ai didi

javascript - 如何使用 JavaScript 遍历不同长度的数组?

转载 作者:行者123 更新时间:2023-11-30 16:10:42 25 4
gpt4 key购买 nike

我的代码中的注释最好地解释了这个问题。

// Find all commonNums divisible by arr && sequential that produce a whole number quotient.
// commonNums [ 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75]
// arr [1,5]
// sequential [ 2, 3, 4 ]
for (var n = 0; n < commonNums.length; n++) {
for (var o = 0; o < sequential.length; o++) {
for (var p = 0; p < arr.length; p++) {
if (commonNums[n] % arr[p] === 0 && commonNums[n] % sequential[o] === 0) {
console.log(commonNums[n]);
}}}
}

由于数组的长度不同,简单地用一个长度为 commonNums.length 的循环迭代会产生未定义的值。我的解决方案是使用 3 个循环,每个数组一个。

如果普通数除以 arr 没有余数,并且如果普通数除以顺序数没有余数,则返回该数。对于 arr [1,5],返回的第一个数字应该是 60。

为什么这个解决方案失败了?

最佳答案

如果我正确理解您的问题,那么这应该可行。它返回 60,因为这是唯一可以被其他两个数组中的每个数字整除的数字。

outerLoop:
for (var n = 0; n < commonNums.length; n++) {
for (var o = 0; o < sequential.length; o++) {
for (var p = 0; p < arr.length; p++) {
if (commonNums[n] % arr[p] != 0 || commonNums[n] % sequential[o] != 0) {
continue outerLoop;
}
}
}
console.log(commonNums[n]);
}

已更新为使用标签/继续以加快执行速度。

关于javascript - 如何使用 JavaScript 遍历不同长度的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36294751/

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