如何用随机值预填充JavaScript数组

如何用随机值预填充JavaScript数组,javascript,arrays,Javascript,Arrays,如何从“cars”数组中预填充随机值并生成新数组 cars[…]数组中的随机值为3项。。。我需要5个项目 听起来您只想运行一个随机数生成器五次,其中随机数生成器可以给出0、1或2 var cars = ["Saab", "Volvo", "BMW"]; var thisarrayshouldbe = 5; 有可能重复元素吗?需要插入多少项?两者的值不同。。在我提供的简单示例中,输出数组是3项。。。我需要在控制台日志中输入5条Thanksworks作为我输入的注释。。。只是最后一部分让我困惑(让

如何从“cars”数组中预填充随机值并生成新数组

cars
[…]数组中的随机值为3项。。。我需要5个项目

听起来您只想运行一个随机数生成器五次,其中随机数生成器可以给出
0
1
2

var cars = ["Saab", "Volvo", "BMW"];
var thisarrayshouldbe = 5;

有可能重复元素吗?需要插入多少项?两者的值不同。。在我提供的简单示例中,输出数组是3项。。。我需要在控制台日志中输入5条Thanksworks作为我输入的注释。。。只是最后一部分让我困惑(让我想起coffescript)。。。我希望能有更多浏览器友好的版本,谢谢you@Radoslav这是香草JavaScript,哪个浏览器有问题?或者你的意思是说作为
for
循环比
while
循环更容易理解吗?是的,保罗,请更容易理解。。。抱歉,再次感谢:)@Radoslav我将其编辑为
for
循环,并添加了大括号,如果您发现它更易于阅读,我将其向下循环;这只是我的偏好,因为我使用文字创建了数组;没有给它一个初始大小
var cars = ["Saab", "Volvo", "BMW"];

function random_int(max, min) { // max, min inclusive
    min = min | 0; // coerce to int32
    max = max | 0;
    return min + Math.floor(Math.random() * (max - min + 1));
}
// so random_int(2) will produce a value from 0, 1, 2

var i, // iterating variable
    arr = []; // the array being generated

for (i = 4; i >= 0; --i) { // 4 is biggest index in arr length 5
    arr[i] = cars[random_int(cars.length - 1)];
}

// and look at what we've made
arr; // example output: ["Volvo", "Saab", "Saab", "BMW", "Volvo"]