let inputValue = document.getElementsByName("array[]").value
You cannot do that. You have to enumerate the list of controls returned by getElementsByName and get the .value of each control separately, appending that value to your result string.
let inputs = document.getElementsByName("array[]");
inputs.forEach(c => inputValue = inputValue + ";" + c.value);
But, it would be better to scrap the "array[]" name for every input and just use individual names for each input, preferably names that describe what the input is for.