gpt4 book ai didi

javascript - 如何在 javascript 中使用循环中的整数填充数组

转载 作者:行者123 更新时间:2023-11-28 19:16:32 27 4
gpt4 key购买 nike

我刚刚注册了 codewars,正在尝试第一个 kata。这是问题:

编写一个函数,将数字 (x) 与给定数字 (y) 相乘一定次数 (n)。结果将以数组形式返回。例如。乘法(2,4,6);输出为:[8, 32, 128, 512, 2048, 8192]

我相信我的代码已编写,当我执行 console.log 时,我得到了练习所需的数组,但它不会让我继续。我希望得到一些帮助,谢谢!

var array  = [];
function multiplyBy(x, y, n) {
while (x<2049){
var z = x*y*n;
var x = z;
array.push(z)
}
}
multiplyBy(2,2,2);
console.log(array);
return array;

最佳答案

您的功能之外发生了一些事情,导致它只能工作一次。确保将所有内容保留在函数内,直​​到最后 return

function multiplyBy(x, y, n) {
var array = []; // var this inside your function
for (; n > 0; --n) { // the loop is only supposed to happen n times
x = x * y; // you can reuse this variable (x)
array.push(x);
}
return array; // return statement should be inside your function
}

// example of logging the returned value
console.log(multiplyBy(2, 4, 6)); // [8, 32, 128, 512, 2048, 8192]

您的while循环也被硬编码为 x<2049 ,但情况并非总是如此,因为它取决于 n给函数的参数

<小时/>

it won't let me proceed

您发布的代码中存在 3 个问题,可能会阻止您继续操作,

  1. return array可能会抛出语法错误,因为它位于函数之外
  2. 在您的代码中,调用 multiplyBy多次将新值附加到前一个数组的末尾
  3. 他们可能正在针对其他值集测试您的函数,以检查其是否按预期工作,但这在您的函数中是不正确的,即您提供了 2, 4, 6 的示例输入但使用2, 2, 2在你自己的代码中
<小时/>

最后一点,尝试养成缩进代码的习惯,这会让你以后阅读代码时感到头疼,因为它可以让你快速查看 block 的开始和结束位置

关于javascript - 如何在 javascript 中使用循环中的整数填充数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29686319/

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