Ошибка в JS функции
Имею задачу: заменить любое случайное значение из таблицы на любое значение из массива. Сама функция работает нормально, но у меня так же написана функция, которая при нажатии кнопки генерирует новую строку таблицы и вписывает туда данные из того же массива. Проблема в том, что когда я генерирую новые строчки и два раза нажимаю на кнопку, чтобы изменить случайные данные, иногла выскакивает ошибка : Uncaught TypeError: Cannot read properties of undefined (reading '1') at onButtonClick HTML:
<h1>1 Laboratorinis darbas </h1>
<table id="myTable">
<caption id=a><strong>Automobiliai</caption></strong>
<tr>
<th>Modelis</th>
<th>Gamintojas</th>
<th>Metai</th>
<th>Variklio Numeris</th>
</tr>
<script>
arraytotable()
</script>
</table>
<button type="button" id="test" onclick="pavadinimas(); onButtonClick()">Mygtukas</button>
<input type="submit" class="button" value="Add another line" onclick="addField(this);" />
Функция добавления новой строки:
function addField (argument) {
skaicius = (getRandomInt(5));
var masyvas = [
["A4", "Audi", "2015", "1234"],
["A3", "Audi", "2011", "1542"],
["335i", "BMW", "2012", "9874"],
["440d", "BMW", "2015", "1975"],
["Civic", "Honda", "2002", "6574"]]
var myTable = document.getElementById("myTable");
var currentIndex = myTable.rows.length;
var currentRow = myTable.insertRow(-1);
var modelisa = document.createElement("modelis");
modelisa.setAttribute("name", "modelis" + currentIndex);
var gamintojasa = document.createElement("gamintojas");
gamintojasa.setAttribute("name", "gamintojas" + currentIndex);
var metaia = document.createElement("metai");
metaia.setAttribute("name", "metai" + currentIndex);
var variklioa = document.createElement("variklionumeris");
variklioa.setAttribute("name", "variklionumeris" + currentIndex);
var currentCell = currentRow.insertCell(-1);
currentCell.appendChild(modelisa);
currentCell.innerHTML = masyvas[skaicius][0];
currentCell = currentRow.insertCell(-1);
currentCell.appendChild(gamintojasa);
currentCell.innerHTML = masyvas[skaicius][1];
currentCell = currentRow.insertCell(-1);
currentCell.appendChild(metaia);
currentCell.innerHTML = masyvas[skaicius][2];
currentCell = currentRow.insertCell(-1);
currentCell.appendChild(variklioa);
currentCell.innerHTML = masyvas[skaicius][3];
//skaiciuojam eiluciu skaiciu
rows+=1;
}
Функция, заменяющая случайные данные:
var masyvas1 = [
["A4", "Audi", "2015", "1234"],
["A3", "Audi", "2011", "1542"],
["335i", "BMW", "2012", "9874"],
["440d", "BMW", "2015", "1975"],
["Civic", "Honda", "2002", "6574"]]
var cnt=-1;
//funkcija pakeicianti lenteles reiksme. pakeista reiksme pazymima.
function onButtonClick(){
cnt+=1;
if (cnt == 2){
var table = document.getElementById("myTable");
eilute = getRandomRange(1, rows+1);
console.log(eilute);
stulpelis = getRandomRange(0, 4);
console.log(stulpelis);
console.log(rows);
table.rows[eilute].cells[stulpelis].innerHTML = masyvas1[getRandomInt(rows)][stulpelis].bold();
}
}