JavaScript 如何洗牌一个数组

JavaScript 如何洗牌一个数组

洗牌 一个数组或者列表意味着我们随机重新排序该结构的内容。为了洗牌一个数组,我们将使用以下算法:

方法 1: 在这种方法中,我们将以相反的顺序使用数组元素,然后将每个元素与一个随机元素交换。

function shuffleArray(array) {
   for (var i = array.length - 1; i > 0; i--) { 

       // Generate random number 
       var j = Math.floor(Math.random() * (i + 1));

       var temp = array[i];
       array[i] = array[j];
       array[j] = temp;
   }

   return array;
}

示例: 在这个示例中,我们使用了以上的方法。

<p>Array is=[1, 2, 3, 4, 5, 6, 7]</p>
<button onclick="show()">
    click
</button>
 
<script>
    // Function to shuffle the array content
    function shuffleArray(array) {
        for (var i = array.length - 1; i > 0; i--) {
 
            // Generate random number 
            var j = Math.floor(Math.random() * (i + 1));
 
            var temp = array[i];
            array[i] = array[j];
            array[j] = temp;
        }
 
        return array;
    }
 
    // Function to show the result
    function show() {
        var arr = [1, 2, 3, 4, 5, 6, 7]
        var arr1 = shuffleArray(arr)
 
        document.write("After shuffling: ", arr1)
    }
</script>

输出:

JavaScript 如何洗牌一个数组

方法 2: 通过将一个返回(随机值 – 0.5)的函数作为比较器传递给排序函数,以便按随机方式对元素进行排序。

function shuffleArray(array) { 
   return array.sort( ()=>Math.random()-0.5 );
} 

示例: 此示例演示了上述解释的方法的使用。

<p>Array is=[1, 2, 3, 4, 5, 6, 7]</p>
<button onclick="show()">
    click
</button>
<script>
    // Function to shuffle the array content 
    function shuffleArray(array) {
        return array.sort(() => Math.random() - 0.5);
    }
 
    // Function to show the result 
    function show() {
        var arr = [1, 2, 3, 4, 5, 6, 7]
        var arr1 = shuffleArray(arr)
 
        document.write("After shuffling: ", arr1)
    } 
</script>

输出:

JavaScript 如何洗牌一个数组

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程