У вас есть 1 < cardArray.length
, но это должно быть i < cardArray.length
в вашем for
l oop.
Это приводит к бесконечному l oop, так как 1
всегда меньше cardArray.length
(12).
Изменить:
for (let i = 0; 1 < cardArray.length; i++) {
// Code inside loop
}
Кому:
for (let i = 0; i < cardArray.length; i++) {
// Code inside loop
}
Или используйте более современный способ на l oop через массивы:
cardArray.forEach((_, i) => {
// Code inside loop
});
Обратите внимание, что я использовал _
, чтобы указать, что значение не используется внутри вашего l oop, а просто индекс.
document.addEventListener('DOMContentLoaded', () => {
//card options
const cardArray = [{
name: 'kyung',
img: 'images/kyung.png'
},
{
name: 'kyung',
img: 'images/kyung.png'
},
{
name: 'marmalade',
img: 'images/marmalade.png'
},
{
name: 'marmalade',
img: 'images/marmalade.png'
},
{
name: 'jangmi',
img: 'images/jangmi.png'
},
{
name: 'jangmi',
img: 'images/jangmi.png'
},
{
name: 'tadashi',
img: 'images/tadashi.png'
},
{
name: 'tadashi',
img: 'images/tadashi.png'
},
{
name: 'jason',
img: 'images/jason.png'
},
{
name: 'jason',
img: 'images/jason.png'
},
{
name: 'genki',
img: 'images/genki.png'
},
{
name: 'genki',
img: 'images/genki.png'
},
]
const grid = document.querySelector('.grid')
//create your board
function createBoard() {
for (let i = 0; i < cardArray.length; i++) {
var card = document.createElement('img')
card.setAttribute('src', 'images/blank.png')
card.setAttribute('data-id', i)
// card.addEventListener('click', flipcard)
grid.appendChild(card)
}
}
createBoard()
});
<h3>Score:<span id="result"></span></h3>
<div class="grid"></div>