I am trying to get a random value from a list multiple times in JS. I get the value of the "length" input from user, and then get that many characters that many times from the list in javascript................
JS:
toUpper = function(x){ 
  return x.toUpperCase();
};
function gen() {
    var symbol = document.getElementById("symbolsCB");
    var number = document.getElementById("numbersCB");
    var upper = document.getElementById("uppersCB");
    var length = document.getElementById("numberOfChars");
    var op = document.getElementById("outputBox");
    var list = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",];
    if (symbol.checked == true){
        var symbols = ["?","!","@","#","$","%","^","&","*","(",")",",",".","+","=","[","]","{","}",";",":","<",">"];
        symbols.push.apply(list, symbols);
        let char = list[Math.floor(Math.random() * list.length)];
        op.innerHTML = char;
    }
    if (number.checked == true){
        var numbers = ["1","2","3","4","5","6","7","8","9","0",];
        numbers.push.apply(list, numbers);
        let char = list[Math.floor(Math.random() * list.length)];
        op.innerHTML = char;
    }
    if (upper.checked == true){
        var upperslower = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];
        uppers = upperslower.map(toUpper);
        uppers.push.apply(list, uppers);
        let char = list[Math.floor(Math.random() * list.length)];
        op.innerHTML = char;
    }
}
HTML:
<div class="page">
  <title> Random Password Generator </title>
  <header>
    <h1> Random Password Generator </h1>
  </header>
  <br><br>
  <input type="checkbox" name="numbers" id="numbersCB" class="cb">
  <label for="numbers"> Inculde Numbers </label>
  <br><br>
  <input type="checkbox" name="uppers" id="uppersCB" class="cb">
  <label for="uppers"> Inculde Uppercase Letters </label>
  <br><br>
  <input type="checkbox" name="symbols" id="symbolsCB" class="cb">
  <label for="symbols"> Inculde Symbols ( e.g. @ # $ % ) </label>
  <br><br>
  <input type="text" id="numberOfChars" name="numberOfChars" placeholder="Length of password...">
  <br><br>
  <button onclick="gen()"> Generate Random Password </button>
  <br><br>
  <input type="text" id="outputBox" name="outputBoxName" disabled="disabled">
  <br>
</div>
  <script type = "text/javascript" src = "js.js"></script>
 
    