我写了这个函数:

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/

10-12 13:27