我写了这个函数:
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));
我究竟做错了什么?
最佳答案
尝试这个:
function randomProduct(num) {
var iter = num;
var rand ="";
for (var i = 0; i < iter; i++) {
rand += recommendedProducts[Math.floor(Math.random() * recommendedProducts.length)];
}
return rand
}
就像@Steve Medley所说的那样,结果应该是字符串。因此,如果RecommendationProducts包含一些字符串,则应在循环的每次迭代中将此字符串添加到结果中,并在循环完成后返回它(这也是我从问题中所了解的)
关于javascript - 从数组中选择多个随机数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38289372/