簡體   English   中英

Javascript / p5.js 中的獨立隨機生成

[英]Independent random generations in Javascript / p5.js

在 P5.js 中,為了獲得獨立的隨機生成,我經常需要編寫多行隨機代碼,例如:

 random(); random(); random(); // or a = random(); b = random(); c = random(); //etc

p5.js 或 javascript 中是否有任何替代代碼可以執行相同/相似的生成,因此可以提高代碼效率? 謝謝

如果要將隨機數放入數組中,則可以使用Array.from簡潔地完成:

 const random = () => Math.random(); const arr = Array.from({ length: 3 }, random); console.log(arr);

您可以通過解構對多個單獨的變量執行相同的操作:

 const random = () => Math.random(); const [a, b, c] = Array.from({ length: 3 }, random); console.log(a); console.log(b); console.log(c);

如果您需要使用某些參數調用random ,則:

 const random = (low, high) => Math.floor((high - low) * Math.random()) + low; const [a, b, c] = Array.from({ length: 3 }, () => random(1, 4)); console.log(a); console.log(b); console.log(c);

如果您不想在 draw() 中執行隨機計算,那么您可以在 setup.xml 中生成一個預先計算的隨機數數組。 當您需要一個隨機數時,您只需從數組中獲取一個。

let rndListLength = 100;
let rndNums;

function setup() {  
  rndNums = [...Array(rndListLength).keys()].map(a => random());

  // Show complete list
  console.log(rndNums);

  // Show number 17 in list 
  // (remember the first array index is always 0)
  console.log(rndNums[16]);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM