Есть ли способ случайного запуска функции из набора отмеченных флажков? - PullRequest
0 голосов
/ 24 марта 2020

Я пытался сделать так, чтобы при нажатии кнопки она запускала случайную функцию, но запускала только те, у которых установлен флажок.

вот что я пробовал:

//all functions
var functs = [
  function1,
  function2,
  function3
]

//functioned called when button is pressed
function runRandomFunct() {

  //checks if a checkbox is checked
  var c1 = document.getElementById('check1');
  var c2 = document.getElementById('check2');
  var c3 = document.getElementById('check3');
  var theCs = [
    c1.checked,
    c2.checked,
    c3.checked,
  ]

  //creates a new array for only the functions that had a checked box
  var checkedFuncts = []

  var y = 0;

  //puts the functions in the new array
  for (z = 0, z < theCs[].length, z++) {
    if (theCs[z] === true) {
      checkedFuncts[y] = functs[z];
      y = y++;
    }
  }

  let numOfCheckedFuncts = checkedFuncts[].length;
  let chosenFunct = Math.floor(Math.random() * numOfCheckedFuncts);
  checkedFuncts[chosenFunct]();
}

Может кто-нибудь сказать мне, как это можно сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...