实现返回x的前n个倍数的函数异常,请求技术排查协助
问题分析与修复
你的函数存在两个核心错误:
n是传入的数字参数,并非数组,n[i]会返回undefined,导致x *= undefined结果变为NaN,后续所有计算都会失效- 循环中直接修改了参数
x本身,会导致下一次计算的基数错误,无法得到正确的倍数序列
修复后的代码
function multiples(x, n) { let m = []; for (let i = 1; i <= n; i++) { m.push(x * i); } return m; }
说明
循环内直接用原始参数x乘以当前循环变量i,得到第i个倍数并推入数组即可。比如调用multiples(2, 3)会返回[2, 4, 6],完全符合需求。
内容的提问来源于stack exchange,提问作者Vivian
相关产品推荐
相关产品推荐

