¿Cómo escupo el nombre del elemento (el nombre de cada objeto) en la consola a medida que la matriz de objetos itera?
He buscado en línea, en varias publicaciones e hilos, pero no puedo encontrar la respuesta a esto. Tampoco hay nada sobre esto en las propiedades/métodos para Array que pueda ver https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array .
Aquí hay un ejemplo simplificado de lo que estoy tratando de hacer:
let card1 = { question:'1+1?', answer:'2' } let card2 = { question:'1+2', answer:'3' } let card3 = { question:'1+3', answer:'4' } let card4 = { question:'1+4', answer:'5' } let card5 = { question:'1+5', answer:'6' } let cards = [card1,card2,card3,card4,card5]; cards.forEach(function(card){ console.log(card.name); console.log(card.question); console.log(card.answer); });Aquí está mi violín de lo anterior: https://jsfiddle.net/JaredHess/arLmnz72/7/
Sigo esperando que haya un método como card.name o card.id (pero esos no existen).
Por ejemplo, cuando se desplaza al primer elemento de la matriz, quiero que muestre card1 , así:
card1 "1+1?" "2"Gracias de antemano por su ayuda.
Puede definir las tarjetas en una matriz en lugar de definirlas como variables individuales.
Si desea crear una propiedad de name personalizado para cada tarjeta, ciertamente puede, pero si solo desea un nombre de plantilla como "name 1" , "name 2" , etc., entonces no necesita definir el nombre en cada objeto de la matriz. En cambio, puede crear y agregar los nombres en una función de mapa usando el índice de cada tarjeta, así:
const cards = [ {question:'1+1?', answer:'2'}, {question:'1+2', answer:'3'}, {question:'1+3', answer:'4'}, {question:'1+4', answer:'5'}, {question:'1+5', answer:'6'}, ].map((card, index) => ({...card, name: `card${index + 1}`})); cards.forEach(card => console.log(card));