Soy un estudiante de JS y quiero crear una aplicación que calcule el promedio a partir de los valores de entrada. Hasta ahora he logrado insertar los valores de entrada ingresados en una matriz. Sin embargo, cuando quiero mostrarlos, se repite el valor anterior. Así que estoy cerca del final. Pero ahora estoy atascado. ¿Puedes echarme una mano con eso?
Enter </button> <p id="numbersEntered"></p> <button id="avg" type="button">Average</button> <p id="average"></p> let numbersEntered = document.querySelector("#numbersEntered"); let inputEl = document.querySelector("#input"); // buttons let enter = document.querySelector("#enter"); let numArr = []; enter.addEventListener("click", displayNums); function displayNums() { let newNumber = inputEl.value; numArr.push(newNumber); console.log(numArr); for (let i = 0; i < numArr.length; i++) { numbersEntered.innerHTML += numArr[i] + ","; } }En lugar de numArr a innerHTML, simplemente sobrescríbalo. Además, dado que solo está escribiendo texto sin formato, se recomienda usar textContent en lugar de innerHTML :
function displayNums() { let newNumber = inputEl.value; numArr.push(newNumber); console.log(numArr); numbersEntered.textContent = numArr.join(', '); } No es necesario usar un ciclo for cuando puede usar Array.prototype.join para imprimir la matriz.
Puede borrar el HTML interno antes de agregar;
function displayNums() { let newNumber = inputEl.value; numArr.push(newNumber); numbersEntered.innerHTML = ""; //Clear the innerHTML for (let i = 0; i < numArr.length; i++) { numbersEntered.innerHTML += numArr[i] + ","; } }https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML