gpt4 book ai didi

javascript - 将返回值传递回循环

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

我不好意思问这个,但我是新手所以就这样吧......

我有一个整数数组,我想遍历它并将每个整数除以另一个数组中的一个除数。

integers = [50, 20, 18, 27, 19]
divisors = [2, 3, 2]

遍历整数并除以 divisors[0]。获取结果数组并将每个整数除以 divisors[1]。获取结果数组并将每个整数除以 divisors[2]

我知道这很简单,但我不知道如何将新数组作为参数传递。

这是我目前所拥有的。我需要以长度为 5 的数组结尾,但我以 15 中的一个结尾。

const divide = function(arr) {
var result = []
for (i = 0; i < divisors.length; i++) {
for (j = 0; j < arr.length; j++) {
result.push(Math.floor(arr[j] / divisors[i]))
// how do I pass "result" as new value for "arr"?
}
}
return result
}
console.log(divide(integers))

就大 O 而言,我知道这不是解决此问题的最有效方法,因为结果是 O(n^2)。但是,正如我所说,我是新手。

如有任何帮助,我们将不胜感激。谢谢。

最佳答案

这在 O(n+m) 中运行:

var integers = [50, 20, 18, 27, 19];
var divisors = [2, 3, 2];

// compute product of all divisors
var product = divisors.reduce((x, y) => x * y)

// map each integer to result of division, rounded down
var result = integers.map(i => Math.floor(i / product))

console.log(result)

关于javascript - 将返回值传递回循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41549837/

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