При генерации пароля с каждым кликом он становится все длинее. Как сделать так, стобы пароль каждый раз генерировался по новой?

скрипт:

var options = ["q","w","e","r","t","y","u","i","o","p","a","s","d","f","g","h","j","k","l","z","x","c","v","b","n","m","1","2","3","4","5","6","7","8","9","Q","W","E","R","T","Y","U","I","O","P","A","S","D","F","G","H","J","K","L","Z","X","C","V","B","N","M"]
var m = [];
var lgPas = 14;
function randomPassword (array) {
    for(var ss = 0;ss < lgPas; ss++) {
    var a = parseInt(Math.random() * 61);
    m = m + array[a]; 
    
    }
}
function write(text){
    var res = document.getElementById("info").innerHTML = text;
    }


function qwe(){
randomPassword(options);
write(m);   
}

Тело:

<div class="box">
    <p id="pass">Ваш пароль:</p>
    <p id="info">?</p>
    <br>
    <a href="#" onClick="qwe();" id="button">Нажмите чтобы сгенерировать пароль</a>
            
</div>

Ответы (2 шт):

Автор решения: Алексей Шиманский

Попробуйте в функции randomPassword в начале обнулять m

→ Ссылка
Автор решения: Pavel Nazarian

Вы можете сделать так, чтобы ваша функция генерации пароля возвращала результат. И перенести в функцию необходимые переменные.

var options = {'symbols':["q","w","e","r","t","y","u","i","o","p","a","s","d","f","g","h","j","k","l","z","x","c","v","b","n","m","1","2","3","4","5","6","7","8","9","Q","W","E","R","T","Y","U","I","O","P","A","S","D","F","G","H","J","K","L","Z","X","C","V","B","N","M"],
'lgPas': 14}

function randomPassword (options) {
var m = [];    
for(var ss = 0;ss < options.lgPas; ss++) {
  var a = parseInt(Math.random() * 61);
  m = m + options.symbols[a];     
}
return m;
}

function write(text){
var res = document.getElementById("info").innerHTML = text;
}


function qwe(){
  let pass = randomPassword(options);
  write(pass);   
}
<div class="box">
    <p id="pass">Ваш пароль:</p>
    <p id="info">?</p>
    <br>
    <a href="#" onClick="qwe();" id="button">Нажмите чтобы сгенерировать пароль</a>
            
</div>

→ Ссылка