El proyecto contiene 7 tarjetas, cada tarjeta tiene su propia identificación. Seleccioné esta identificación. Tengo datos en el archivo JS, estos datos tienen 7 objetos con ID, quiero comparar la ID de la tarjeta con la ID de datos, SI ESTAS ID COINCIDIRÁN, ENTONCES LO IMPRIMIRÉ. console.log muéstrame esto
3 = identificación de la tarjeta
(7) [1, 2, 3, 4, 5, 6, 7] = el archivo de datos me muestra una matriz
¿Cómo cambiar esta matriz, podría comparar la identificación de la tarjeta?
const cardbody = document.querySelectorAll('.card') cardbody.forEach(function(btn) { console.log(btn) // it shows me current card btn.addEventListener('click', function(e) { const bt = e.currentTarget.dataset.id console.log(bt) // 3 // data from JS file this return arrays const dataid = cabins.map(function(item) { return item.id }) console.log(dataid) //(7) [1, 2, 3, 4, 5, 6, 7] if(dataid === bt ) { console.log('red') } }) })
Si solo necesita saber si bt
está en alguna de las propiedades de id
, use el método some()
. No necesita crear una matriz primero.
cardbody.forEach(function(btn) { console.log(btn) // it shows me current card btn.addEventListener('click', function(e) { const bt = e.currentTarget.dataset.id console.log(bt) // 3 if (cabins.some(item => item.id == bt)) { console.log('red') } }) })
const arr = [1, 2, 3, 4, 5, 6, 7]; const id = 3; // existance if (arr.includes(id)) { console.log(`${id} exists`); } // findIndex if (arr.indexOf(id) >= 0) { console.log(`${id} found at arr[${arr.indexOf(id)}]`); }