Vanilla Javascript:如何将无序列表项放入数组,然后将数组随机化?

时间:2018-09-10 01:06:21

标签: javascript random

我要建立的东西:

大家好!我正在尝试制作一个记忆游戏,在您将卡片翻过来时,您要匹配卡片。

问题:

第一步似乎是将这些无序列表项放入某种数据结构中并随机化。如何在普通JS中做到这一点?

尝试

我试图创建一个数组来存储数据,但似乎无法将其记录到控制台。我也不确定数组是否是执行此操作的最佳方法。欢迎任何建议:)

 const cardDeck = document.querySelectorAll('card');


 Array.from(cardDeck).forEach(function(card){
  console.log(card);
});

 <ul class="deckOfCards">
                <li class="card">
                    <i class="genericCard"></i>
                </li>
                <li class="card">
                    <i class="genericCard"></i>
                </li>
                <li class="card">
                    <i class="genericCard"></i>
                </li>
                <li class="card">
                    <i class="genericCard"></i>
                </li>
                <li class="card">
                    <i class="genericCard"></i>
                </li>
                <li class="card">
                    <i class="genericCard"></i>
               </li>
            </ul>

 const cardDeck = document.querySelectorAll('.card');

 Array.from(cardDeck).forEach(function(card){
  console.log(card);
});


// Shuffle function from http://stackoverflow.com/a/2450976
function shuffle(array) {
    var currentIndex = array.length, temporaryValue, randomIndex;

    while (currentIndex !== 0) {
        randomIndex = Math.floor(Math.random() * currentIndex);
        currentIndex -= 1;
        temporaryValue = array[currentIndex];
        array[currentIndex] = array[randomIndex];
        array[randomIndex] = temporaryValue;
    }

    return array;
}

shuffle(cardDeck);

0 个答案:

没有答案