我写了这个函数:
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 所说,结果预计是字符串。因此,如果推荐产品包含一些字符串,您应该在循环的每次迭代中将此字符串添加到结果中,并在循环完成后返回它(这也是我从问题中理解的)
关于javascript - 从数组中随机选取多个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38289372/