JavaScript generate random numbers without repeating

后端 未结 4 1299
天涯浪人
天涯浪人 2021-01-03 11:04

I have some code where I have an array of x amount of items. In this case, videos, and I want to randomly call a video, however if the current video already called is the sa

4条回答
  •  南笙
    南笙 (楼主)
    2021-01-03 11:49

    You can create an array to keep the exiting generated numbers.

    var existingNumbers = [];
    var maxNumbers = 5;
    var randomNumber = function() {
      if (existingNumbers.length != maxNumbers) {
        do {
          getRandomNumber = Math.floor(Math.random() * maxNumbers);
        } while (existingNumbers.indexOf(getRandomNumber) > -1);
        existingNumbers.push(getRandomNumber);
       
        var random = videoLinks[getRandomNumber]
        document.getElementById("videoWrapper").innerHTML = random[0];
      }
    };

提交回复
热议问题