Pasar la tabla en funciones después de pulsar el botón. ¿Cómo puedo obtener este efecto con todas las opciones de matriz (.shift) Recibo el siguiente mensaje: app.js:13 TypeError no detectado: arr.shift no es una función en HTMLButtonElement.b (app.js:13)
const btn = document.getElementById('id1'); btn.addEventListener('click', b) function a() { const arr = [1, 2, 3 , 4]; const btn = document.getElementById('id1'); btn.addEventListener('click', b); } a() function b(arr) { arr.shift(); console.log(arr); }Al pasar b a la función addEventListener , se pasa la variable de evento al parámetro arr. Sin embargo, la variable de evento no es una matriz, por lo que no tiene las funciones de prototipo de matriz. Si desea utilizar la variable arr declarada en a , deberá utilizar algo como esto:
function a() { const arr = [1, 2, 3 , 4]; const btn = document.getElementById('id1'); btn.addEventListener('click', (e)=>{b(arr)}); } a()Cualquier detector de eventos siempre recibirá un objeto que describa el evento.