【发布时间】:2016-11-12 08:43:25
【问题描述】:
我写了这个函数:
function randomProduct(num) {
var iter = num;
for (var i = 0; i < iter; i++) {
var rand = recommendedProducts[Math.floor(Math.random() * recommendedProducts.length)];
return rand
}
}
应该从recommendedProducts 数组中提取,但是在调用函数时需要很多。所以基本上randomProduct(1) 会拉1,randomProduct(4) 会拉4,等等。
但是,无论我通过控制台输入什么数字,我总是只返回 1 个数组项。
console.log(randomProduct(1));
console.log(randomProduct(2));
console.log(randomProduct(3));
console.log(randomProduct(4));
我做错了什么?
【问题讨论】:
-
在调试器中运行它或在脑海中运行它。您在循环内返回,因此它始终返回一项并退出。
-
预期结果是数组还是字符串?
-
预期结果是一个字符串
-
@SamiKuhmonen 也尝试在 for 循环外使用 return 语句,但没有任何区别。
-
@SteveMedley 它是否在外部并不重要,您只是在该变量中分配一个随机值,它会多次覆盖最后一个值。该代码不可能有超过 1 个。
标签: javascript arrays function random return