如何使用 JavaScript 建立一個包含隨機值的陣列?


我們可以使用 JavaScript 的 Math.random() 方法來生成隨機值。JavaScript 為我們提供了不同的陣列方法,例如 from()、fill() 和 push(),這些方法可用於建立包含隨機值的陣列。

JavaScript 中的陣列是一個強大的特性,允許您儲存不同資料型別的值的集合。它們廣泛用於許多應用程式,在某些情況下,擁有一個包含隨機值的陣列非常有用。

隨機值陣列是在陣列中儲存的一組隨機生成的數字。隨機值陣列中的值可以使用內建函式或自定義演算法生成。陣列的大小和值的範圍可以根據需要指定。

使用 Math.random()

Math.random() 是最常用的內建 JavaScript 方法之一,它生成 0(包含)和 1(不包含)之間的隨機數。它可用於為各種目的生成隨機數,例如模擬、遊戲和統計應用程式。

我們使用 for 迴圈和 Math.random() 方法來建立陣列。請檢視下面的語法:

語法

以下是使用迴圈和 Math.random() 方法建立包含隨機值的陣列的語法。

for (let i = 0; i < 20; i++) {
   randomArr.push(Math.random());
}

以上語法建立了一個包含 20 個 0 到 1 之間的數字的陣列。

要建立隨機自然數陣列,我們可以使用以下語法:

for (let i = 0; i < 20; i++) {
   randomArr.push(Math.floor(Math.random() * 100) + 1);
}

示例

在以下示例中,我們建立了一個包含 20 個 1 到 100 之間的隨機數的陣列。

<html>
<body>
   <p id="array"></p>
   <script>
      let randomArr = [];
      for (let i = 0; i < 20; i++) {
         randomArr.push(Math.floor(Math.random() * 100) + 1);
      }
      document.getElementById("array").innerHTML = JSON.stringify(randomArr);
   </script>
</body>
</html>

在這個例子中,我們首先建立一個名為 randomArr 的空陣列。然後我們使用 for 迴圈迭代 10 次,在每次迭代中,我們使用 Math.random() 函式生成 0 到 1 之間的隨機數。然後我們將此數字乘以 100 並加 1 以獲得 1 到 100 之間的數字。最後,我們使用 Math.floor() 函式將數字向下舍入到最接近的整數。然後我們使用 push() 方法將此隨機數新增到 randomArr 中。

輸出會發生變化,因為它每次執行程式碼時都會產生隨機值。

使用 Array.from() 方法

Array.from() 方法和 map() 方法可以一起在 JavaScript 中使用,以建立一個由指定函式生成的值組成的陣列。Array.from() 方法從類陣列或可迭代物件建立陣列,map() 方法可用於將函式應用於陣列中的每個元素。

示例

在這個例子中,我們向 Array.from() 方法傳遞兩個引數:一個具有長度屬性為 10 的物件和一個返回 1 到 100 之間的隨機數的函式。Array.from() 方法建立一個具有給定長度的新陣列,並用呼叫提供的函式的結果填充它。

<html>
<body>
   <p id="array"></p>
   <script>
      const randomArr = Array.from({length: 10}, () => Math.floor(Math.random() * 100) + 1);
      document.getElementById("array").innerHTML = JSON.stringify(randomArr);
   </script>
</body>
</html>

使用 Array.fill() 方法

Array.fill() 方法是另一種在 JavaScript 中建立包含隨機值的陣列的方法。它允許您用靜態值或由函式生成的值填充陣列。讓我們看看如何使用 Array.fill() 方法建立包含隨機值的陣列。

<html>
<body>
   <p id="array"></p>
   <script>
      let result = new Array(10)    
      result = result.fill(0).map(() => Math.floor(Math.random() * 100));
      document.getElementById("array").innerHTML = JSON.stringify(result);
   </script>
</body>
</html>

總之,隨機值陣列是程式設計中許多應用程式的有用工具,尤其是在模擬、遊戲和統計中。JavaScript 提供了幾種生成隨機值陣列的方法,包括使用 Math.random() 方法、for 迴圈、Array.fill() 方法、Array.from() 方法與 map() 以及 Array 建構函式。

每種方法都提供了一種建立隨機值陣列的方法,選擇最佳方法取決於您專案的具體要求。Math.random() 函式是一種簡單直接的生成隨機值的方法,而 for 迴圈提供了對值生成過程的更多控制。Array.fill() 方法和 Array.from() 方法與 map() 允許您用指定函式生成的值填充陣列,從而易於生成隨機值陣列。

更新於: 2023年2月23日

7K+ 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告