I am trying to pass an array to a function, and later on doing a .push to that function, but it gives me an error: "main.js:500 Uncaught TypeError: arrayTemperaturaPotTemp.push is not a function"
First of all, Im inside a function, where I declare all variables, but the importants are:
let arrayTiempo = new Array, arrayTemperatura = new Array, arrayTiempoPot = new Array, arrayPotencia = new Array, arrayTemperaturaPotTemp = new Array, arrayPotenciaPotTemp = new Array;
And now I call a function to which I pass the next data:
iniciarGraficos(arrayTiempo, arrayTemperatura, temperature, pos, subcadena, ocurrencias, tiempo, valor, valorMedio, ultimaHora, ultimaTemp,
arrayTiempoPot, arrayPotencia, energy, posEner, subcadena, ocurrenciasEner, tiempoEner, potencia, potenciaTotal, ultimaHoraEnerTiemp, ultimaEnerEnerTiemp,
ultimaHoraEnerTemp, ultimaEnerEnerTemp, ultimaTempEnerTemp, arrayTemperaturaPotTemp, arrayPotenciaPotTemp, valor, potencia);
Inside this method, I don't use "arrayTemperaturaPotTemp" yet, but I pass it to another method:
function iniciarGraficos(arrayTiempo, arrayTemperatura, temperature, pos, subcadena, ocurrencias, tiempo, valor, valorMedio, ultimaHora, ultimaTemp,
arrayTiempoPot, arrayPotencia, energy, posEner, ocurrenciasEner, tiempoEner, potencia, potenciaTotal, ultimaHoraEnerTiemp, ultimaEnerEnerTiemp,
ultimaHoraEnerTemp, ultimaEnerEnerTemp, ultimaTempEnerTemp, arrayTemperaturaPotTemp, arrayPotenciaPotTemp){
if ((pos = temperature.indexOf(subcadena, pos)) !== -1) {...}
if ((posEner = energy.indexOf(subcadena, posEner)) !== -1) {...}
actualizarGrafico3(arrayTemperaturaPotTemp, arrayPotenciaPotTemp, valor, potencia, "MiGraficaEnerTemp", 50_000, 72_000);
}
And now, when it reaches the function "actualizarGrafico3", that has the next content:
function actualizarGrafico3(arrayTemperaturaPotTemp, arrayPotenciaPotTemp, valor, potencia, nombreGrafica, min, max){
arrayTemperaturaPotTemp.push(valor);
arrayPotenciaPotTemp.push(potencia);
}
CodePudding user response:
There are some differences between arguments you pass and arguments which the function awaits.
You pass arrayTemperaturaPotTemp
in 26 place:
iniciarGraficos(
arrayTiempo,
arrayTemperatura,
temperature,
pos,
subcadena,
ocurrencias,
tiempo,
valor,
valorMedio,
ultimaHora,
ultimaTemp,
arrayTiempoPot,
arrayPotencia,
energy,
posEner,
subcadena,
ocurrenciasEner,
tiempoEner,
potencia,
potenciaTotal,
ultimaHoraEnerTiemp,
ultimaEnerEnerTiemp,
ultimaHoraEnerTemp,
ultimaEnerEnerTemp,
ultimaTempEnerTemp,
arrayTemperaturaPotTemp,
arrayPotenciaPotTemp,
valor,
potencia);
The function waits arrayTemperaturaPotTemp
in 25 place:
iniciarGraficos(
arrayTiempo,
arrayTemperatura,
temperature,
pos,
subcadena,
ocurrencias,
tiempo,
valor,
valorMedio,
ultimaHora,
ultimaTemp,
arrayTiempoPot,
arrayPotencia,
energy,
posEner,
ocurrenciasEner,
tiempoEner,
potencia,
potenciaTotal,
ultimaHoraEnerTiemp,
ultimaEnerEnerTiemp,
ultimaHoraEnerTemp,
ultimaEnerEnerTemp,
ultimaTempEnerTemp,
arrayTemperaturaPotTemp,
arrayPotenciaPotTemp)
Just try to avoid so long arguments list: really easy to make a mistake here. Instead of this use argument at least as an object.