繁体   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