【发布时间】:2016-04-30 05:15:49
【问题描述】:
在 this answer 创建指定长度的数组之后,我执行了以下操作以获得相应的结果,但填充的是随机数,而不是零。
var randoms = Array(4).fill(Math.floor(Math.random() * 9));
嗯,从数学上讲它是随机的,好吧。但我希望随机性在数组中可见,当然不仅仅是在运行之间。愚蠢的电脑...不要照我说的做。做我想做的事!
我可以迭代并将其放入我的随机(和变化)值。但是,出于纯粹的好奇,我想知道是否有可能使用单线(如上面的 MatLab 风格)获得正确的结果。我需要调用 eval(function()...) 吗?我听说过很多关于 eval 的坏话...
请注意,上面生成的代码如下:
[7, 7, 7, 7]
[3, 3, 3, 3]
等等。虽然我想要类似的东西
[1、2、3、4]
[4、3、8、4]
【问题讨论】:
-
我不明白但我希望随机性在数组中可见,当然不仅仅是在运行之间。 AFAIU,你只想用随机数创建一个长度为
n的数组。 -
@Tushar 如果您在控制台中运行该行,您会看到...它会创建 单个 随机数并将其作为修复数复制到所有位置.首先,当您再次运行时,您将获得一组其他数字(每次运行都相同)。很容易错过吧?我已经更新了这个问题。谢谢。
-
“fill() 方法使用静态 [sic!] 值填充数组的所有元素,从开始索引到结束索引。” MDN
-
@NinaScholz 是的,这就是我所认识的。这是一个随机值。诚然。但不是我想要的。我记得一位老师声称没有仅生成素数的功能。我用 function(){ return 13; 反驳了他。 } 他不高兴。其他人都被逗乐了。
标签: javascript arrays random